@nvisy/sdk 0.13.0 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +48 -1
- package/README.md +3 -1
- package/dist/auth/index.d.ts +1 -1
- package/dist/{client-DN7ckSJH.d.ts → client-C5Jt7cZW.d.ts} +5 -5
- package/dist/{client-DN7ckSJH.d.ts.map → client-C5Jt7cZW.d.ts.map} +1 -1
- package/dist/datatypes/index.d.ts +2 -2
- package/dist/{errors-BfCfSpmA.d.ts → errors-BjF5Dbju.d.ts} +2 -2
- package/dist/{errors-BfCfSpmA.d.ts.map → errors-BjF5Dbju.d.ts.map} +1 -1
- package/dist/{index-HUG77R_t.d.ts → index-BCjrTe_H.d.ts} +1165 -485
- package/dist/index-BCjrTe_H.d.ts.map +1 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.js +1 -1
- package/dist/services/index.d.ts +1 -1
- package/dist/services/index.js +1 -1
- package/dist/{services-DjORFrh_.js → services-Dhtn3sVT.js} +3 -3
- package/dist/{services-DjORFrh_.js.map → services-Dhtn3sVT.js.map} +1 -1
- package/dist/webhooks/index.d.ts +2 -2
- package/package.json +2 -2
- package/dist/index-HUG77R_t.d.ts.map +0 -1
|
@@ -3719,7 +3719,7 @@ interface paths {
|
|
|
3719
3719
|
};
|
|
3720
3720
|
};
|
|
3721
3721
|
responses: {
|
|
3722
|
-
/** @description A connection sync
|
|
3722
|
+
/** @description A connection sync (import or export). */
|
|
3723
3723
|
202: {
|
|
3724
3724
|
headers: {
|
|
3725
3725
|
[name: string]: unknown;
|
|
@@ -3944,7 +3944,7 @@ interface paths {
|
|
|
3944
3944
|
};
|
|
3945
3945
|
requestBody?: never;
|
|
3946
3946
|
responses: {
|
|
3947
|
-
/** @description A connection sync
|
|
3947
|
+
/** @description A connection sync (import or export). */
|
|
3948
3948
|
200: {
|
|
3949
3949
|
headers: {
|
|
3950
3950
|
[name: string]: unknown;
|
|
@@ -4037,7 +4037,7 @@ interface paths {
|
|
|
4037
4037
|
};
|
|
4038
4038
|
requestBody?: never;
|
|
4039
4039
|
responses: {
|
|
4040
|
-
/** @description A connection sync
|
|
4040
|
+
/** @description A connection sync (import or export). */
|
|
4041
4041
|
200: {
|
|
4042
4042
|
headers: {
|
|
4043
4043
|
[name: string]: unknown;
|
|
@@ -6134,30 +6134,27 @@ interface paths {
|
|
|
6134
6134
|
/**
|
|
6135
6135
|
* @description What detection found in one document.
|
|
6136
6136
|
*
|
|
6137
|
-
* The body group plus per-container-part groups (each tagged
|
|
6138
|
-
*
|
|
6139
|
-
*
|
|
6137
|
+
* The body group plus per-container-part groups (each tagged by
|
|
6138
|
+
* modality) plus the recognition [`AuditContext`] the entities
|
|
6139
|
+
* were scored against.
|
|
6140
6140
|
*
|
|
6141
|
-
* The
|
|
6142
|
-
*
|
|
6143
|
-
*
|
|
6144
|
-
* (
|
|
6145
|
-
*
|
|
6141
|
+
* The context travels with the entities so anonymize can rebuild
|
|
6142
|
+
* an orchestrator against exactly the vocabulary analyze used.
|
|
6143
|
+
* Anything a policy predicate compares against beyond the label
|
|
6144
|
+
* catalog (asserted languages, jurisdictions, document tags) is
|
|
6145
|
+
* here; labels are re-derived from the policy set on each
|
|
6146
|
+
* anonymize call.
|
|
6146
6147
|
*
|
|
6147
|
-
* `
|
|
6148
|
-
*
|
|
6149
|
-
*
|
|
6150
|
-
* from the analyze-side ones.
|
|
6151
|
-
*
|
|
6152
|
-
* [`Document`]: nvisy_schema::file::Document
|
|
6153
|
-
* [`Scope`]: elide::recognition::Scope
|
|
6148
|
+
* No [`Default`] — a well-formed audit must carry a real
|
|
6149
|
+
* [`AuditContext`] with a real correlation id. Callers building
|
|
6150
|
+
* an audit outside the analyze path construct it explicitly.
|
|
6154
6151
|
*/
|
|
6155
6152
|
200: {
|
|
6156
6153
|
headers: {
|
|
6157
6154
|
[name: string]: unknown;
|
|
6158
6155
|
};
|
|
6159
6156
|
content: {
|
|
6160
|
-
"application/json": components["schemas"]["
|
|
6157
|
+
"application/json": components["schemas"]["Audit"];
|
|
6161
6158
|
};
|
|
6162
6159
|
};
|
|
6163
6160
|
/**
|
|
@@ -6435,9 +6432,9 @@ interface paths {
|
|
|
6435
6432
|
/**
|
|
6436
6433
|
* @description Request payload for creating a new workspace policy.
|
|
6437
6434
|
*
|
|
6438
|
-
* The
|
|
6439
|
-
*
|
|
6440
|
-
* here.
|
|
6435
|
+
* The body comes from a template or an inline definition (see [`PolicyBody`]).
|
|
6436
|
+
* The body's `name` and `description` drive the stored columns unless
|
|
6437
|
+
* overridden here.
|
|
6441
6438
|
*/
|
|
6442
6439
|
requestBody: {
|
|
6443
6440
|
content: {
|
|
@@ -7303,64 +7300,10 @@ interface components {
|
|
|
7303
7300
|
* audit trail and activity tracking.
|
|
7304
7301
|
*/
|
|
7305
7302
|
ActivityType: "workspace:created" | "workspace:updated" | "workspace:deleted" | "workspace:exported" | "workspace:imported" | "member:deleted" | "member:updated" | "invite:created" | "invite:accepted" | "invite:declined" | "invite:canceled" | "connection:created" | "connection:updated" | "connection:deleted" | "connection:synced" | "webhook:created" | "webhook:updated" | "webhook:deleted" | "webhook:triggered" | "file:created" | "file:updated" | "file:deleted" | "file:verified" | "custom";
|
|
7306
|
-
/**
|
|
7307
|
-
|
|
7308
|
-
|
|
7309
|
-
|
|
7310
|
-
* by modality) plus a snapshot of the recognition [`Scope`] the
|
|
7311
|
-
* entities were scored against.
|
|
7312
|
-
*
|
|
7313
|
-
* The scope snapshot travels with the entities so anonymize
|
|
7314
|
-
* can rebuild an orchestrator against exactly the vocabulary
|
|
7315
|
-
* analyze used. Anything a policy predicate compares against
|
|
7316
|
-
* (label catalog, document-level classification labels,
|
|
7317
|
-
* asserted languages / jurisdictions) is here.
|
|
7318
|
-
*
|
|
7319
|
-
* `correlation_id` on the persisted scope is always `None`; the
|
|
7320
|
-
* anonymize call supplies a fresh id from the passed
|
|
7321
|
-
* [`Document`] so anonymize-side tracing spans are distinct
|
|
7322
|
-
* from the analyze-side ones.
|
|
7323
|
-
*
|
|
7324
|
-
* [`Document`]: nvisy_schema::file::Document
|
|
7325
|
-
* [`Scope`]: elide::recognition::Scope
|
|
7326
|
-
*/
|
|
7327
|
-
AnalyzedDocument: {
|
|
7328
|
-
/**
|
|
7329
|
-
* @description The body group.
|
|
7330
|
-
*
|
|
7331
|
-
* `None` when no body pipeline produced entities (pre-analyze,
|
|
7332
|
-
* or the codec resolved the doc to a modality with no
|
|
7333
|
-
* pipeline).
|
|
7334
|
-
*/
|
|
7335
|
-
body?: components["schemas"]["RecognizedGroup"];
|
|
7336
|
-
/**
|
|
7337
|
-
* @description One entry per container part the orchestrator surfaced.
|
|
7338
|
-
*
|
|
7339
|
-
* Keyed by the container-private part id (e.g. a DOCX zip
|
|
7340
|
-
* entry name like `"word/media/image1.png"`); each value
|
|
7341
|
-
* carries that part's modality + entities.
|
|
7342
|
-
*/
|
|
7343
|
-
parts?: {
|
|
7344
|
-
[key: string]: components["schemas"]["RecognizedGroup"];
|
|
7345
|
-
};
|
|
7346
|
-
/**
|
|
7347
|
-
* @description Recognition scope snapshot.
|
|
7348
|
-
*
|
|
7349
|
-
* The resolved label catalog + asserted languages,
|
|
7350
|
-
* countries, and document labels. Held so
|
|
7351
|
-
* [`Engine::anonymize_document`] can compile against the same
|
|
7352
|
-
* vocabulary analyze used without the caller re-passing an
|
|
7353
|
-
* `AnalyzerParams`.
|
|
7354
|
-
*
|
|
7355
|
-
* Required on the wire. A missing scope on an incoming
|
|
7356
|
-
* [`AnalyzedDocument`] would default to an empty catalog and
|
|
7357
|
-
* silently underfire every `TagOneOf` policy predicate;
|
|
7358
|
-
* rejecting at deserialize time surfaces the shape mismatch
|
|
7359
|
-
* at load, not at apply.
|
|
7360
|
-
*
|
|
7361
|
-
* [`Engine::anonymize_document`]: super::Engine::anonymize_document
|
|
7362
|
-
*/
|
|
7363
|
-
scope: components["schemas"]["Scope"];
|
|
7303
|
+
/** @description Anthropic API credentials. */
|
|
7304
|
+
AnthropicCredentials: {
|
|
7305
|
+
/** @description Anthropic API key. */
|
|
7306
|
+
apiKey: string;
|
|
7364
7307
|
};
|
|
7365
7308
|
/** @description API token response structure. */
|
|
7366
7309
|
ApiToken: {
|
|
@@ -7480,23 +7423,29 @@ interface components {
|
|
|
7480
7423
|
*/
|
|
7481
7424
|
ArtifactType: "input" | "output" | "intermediate";
|
|
7482
7425
|
/**
|
|
7483
|
-
* @description Author-supplied rationale for a redaction:
|
|
7484
|
-
*
|
|
7426
|
+
* @description Author-supplied rationale for a redaction: a policy name and an optional
|
|
7427
|
+
* description.
|
|
7485
7428
|
*
|
|
7486
7429
|
* Where the matched selection rule answers *which rule fired*, an
|
|
7487
7430
|
* `Attribution` answers *under what authority* — a compliance clause, an
|
|
7488
7431
|
* internal policy, a data-handling rule. A policy author attaches it to a
|
|
7489
|
-
* selection rule (
|
|
7490
|
-
* the entity's [`Redaction`] event so an audit can trace a
|
|
7491
|
-
* the policy that demanded it.
|
|
7432
|
+
* selection rule (`Rule::because` in `elide-redaction`); the anonymizer
|
|
7433
|
+
* records it on the entity's [`Redaction`] event so an audit can trace a
|
|
7434
|
+
* change back to the policy that demanded it.
|
|
7435
|
+
*
|
|
7436
|
+
* The `name` is the author's label for that policy (`"gdpr-art-17"`,
|
|
7437
|
+
* `"hipaa-safe-harbor"`, `"PII removal"`); an optional `description` adds
|
|
7438
|
+
* human context. Any stable machine identity a policy layer needs (a rule
|
|
7439
|
+
* UUID, a jurisdiction) is that layer's concern — it can encode it in the
|
|
7440
|
+
* name or carry it separately.
|
|
7492
7441
|
*
|
|
7493
7442
|
* [`Redaction`]: crate::entity::provenance::EventKind::Redaction
|
|
7494
7443
|
*/
|
|
7495
7444
|
Attribution: {
|
|
7496
|
-
/** @description
|
|
7497
|
-
|
|
7498
|
-
/** @description
|
|
7499
|
-
|
|
7445
|
+
/** @description Human-readable description (e.g. `"right to erasure"`), when given. */
|
|
7446
|
+
description?: string;
|
|
7447
|
+
/** @description The policy's name (e.g. `"gdpr-art-17"`, `"hipaa-safe-harbor"`). */
|
|
7448
|
+
name: string;
|
|
7500
7449
|
};
|
|
7501
7450
|
/**
|
|
7502
7451
|
* @description Per-call payload a recognizer inspects for the [`Audio`] modality.
|
|
@@ -7601,12 +7550,17 @@ interface components {
|
|
|
7601
7550
|
/** @description The elide entity, as recognition produced it. */
|
|
7602
7551
|
entity: components["schemas"]["AudioEntity"];
|
|
7603
7552
|
/**
|
|
7604
|
-
* @description Reviewer-supplied override.
|
|
7553
|
+
* @description Reviewer-supplied redaction override.
|
|
7605
7554
|
*
|
|
7606
|
-
* `None` means "use the policy's decision";
|
|
7607
|
-
* overrides
|
|
7555
|
+
* `None` means "use the matching policy rule's decision";
|
|
7556
|
+
* `Some(...)` overrides that rule for this specific entity
|
|
7557
|
+
* at apply time. Reviewer overrides take precedence over
|
|
7558
|
+
* every policy rule and inherit the authority of the
|
|
7559
|
+
* [`Review::policy_id`] they name — the audit event's
|
|
7560
|
+
* attribution stamps that policy so the trail names the
|
|
7561
|
+
* authority under which the override fired.
|
|
7608
7562
|
*/
|
|
7609
|
-
|
|
7563
|
+
review?: components["schemas"]["Review"];
|
|
7610
7564
|
};
|
|
7611
7565
|
/**
|
|
7612
7566
|
* @description One thing that happened to an entity, with its effect on confidence.
|
|
@@ -7844,6 +7798,117 @@ interface components {
|
|
|
7844
7798
|
*/
|
|
7845
7799
|
waveform: components["schemas"]["Waveform"];
|
|
7846
7800
|
};
|
|
7801
|
+
/**
|
|
7802
|
+
* @description What detection found in one document.
|
|
7803
|
+
*
|
|
7804
|
+
* The body group plus per-container-part groups (each tagged by
|
|
7805
|
+
* modality) plus the recognition [`AuditContext`] the entities
|
|
7806
|
+
* were scored against.
|
|
7807
|
+
*
|
|
7808
|
+
* The context travels with the entities so anonymize can rebuild
|
|
7809
|
+
* an orchestrator against exactly the vocabulary analyze used.
|
|
7810
|
+
* Anything a policy predicate compares against beyond the label
|
|
7811
|
+
* catalog (asserted languages, jurisdictions, document tags) is
|
|
7812
|
+
* here; labels are re-derived from the policy set on each
|
|
7813
|
+
* anonymize call.
|
|
7814
|
+
*
|
|
7815
|
+
* No [`Default`] — a well-formed audit must carry a real
|
|
7816
|
+
* [`AuditContext`] with a real correlation id. Callers building
|
|
7817
|
+
* an audit outside the analyze path construct it explicitly.
|
|
7818
|
+
*/
|
|
7819
|
+
Audit: {
|
|
7820
|
+
/**
|
|
7821
|
+
* @description The body group.
|
|
7822
|
+
*
|
|
7823
|
+
* `None` when no body pipeline produced entities (pre-analyze,
|
|
7824
|
+
* or the codec resolved the doc to a modality with no
|
|
7825
|
+
* pipeline).
|
|
7826
|
+
*/
|
|
7827
|
+
body?: components["schemas"]["EntityGroup"];
|
|
7828
|
+
/**
|
|
7829
|
+
* @description Recognition context.
|
|
7830
|
+
*
|
|
7831
|
+
* The asserted languages, countries, document tags, and the
|
|
7832
|
+
* analyze-side correlation id. Held so
|
|
7833
|
+
* [`Engine::anonymize`] can compile against the same
|
|
7834
|
+
* vocabulary analyze used without the caller re-passing an
|
|
7835
|
+
* `AnalyzerParams`.
|
|
7836
|
+
*
|
|
7837
|
+
* Required on the wire — a missing context on an incoming
|
|
7838
|
+
* [`Audit`] rejects at deserialize time so the shape
|
|
7839
|
+
* mismatch surfaces at load, not at apply.
|
|
7840
|
+
*
|
|
7841
|
+
* [`Engine::anonymize`]: super::Engine::anonymize
|
|
7842
|
+
*/
|
|
7843
|
+
context: components["schemas"]["AuditContext"];
|
|
7844
|
+
/**
|
|
7845
|
+
* @description One entry per container part the orchestrator surfaced.
|
|
7846
|
+
*
|
|
7847
|
+
* Keyed by the container-private part id (e.g. a DOCX zip
|
|
7848
|
+
* entry name like `"word/media/image1.png"`); each value
|
|
7849
|
+
* carries that part's modality + entities.
|
|
7850
|
+
*/
|
|
7851
|
+
parts?: {
|
|
7852
|
+
[key: string]: components["schemas"]["EntityGroup"];
|
|
7853
|
+
};
|
|
7854
|
+
};
|
|
7855
|
+
/**
|
|
7856
|
+
* @description Recognition-side facts that travel from analyze to anonymize.
|
|
7857
|
+
*
|
|
7858
|
+
* Mirrors elide's [`Scope`] shape one-for-one: direct fields
|
|
7859
|
+
* for `languages` and `countries` (typed, elide-native), a
|
|
7860
|
+
* [`metadata`] sub-struct for free-form classification strings
|
|
7861
|
+
* (`tags`, `purpose`, `audience`), and the analyze-time
|
|
7862
|
+
* [`correlation_id`]. The label catalog is not on here —
|
|
7863
|
+
* labels are policy-owned, and anonymize re-derives them from
|
|
7864
|
+
* the policy set it was handed.
|
|
7865
|
+
*
|
|
7866
|
+
* No [`Default`] — `correlation_id` has no meaningful default
|
|
7867
|
+
* (a nil UUID would silently collapse unrelated audits under
|
|
7868
|
+
* one bucket in downstream trace aggregators), so callers
|
|
7869
|
+
* supply one explicitly. Everything else defaults to empty.
|
|
7870
|
+
*
|
|
7871
|
+
* [`Scope`]: elide::recognition::Scope
|
|
7872
|
+
* [`metadata`]: Self::metadata
|
|
7873
|
+
* [`correlation_id`]: Self::correlation_id
|
|
7874
|
+
*/
|
|
7875
|
+
AuditContext: {
|
|
7876
|
+
/**
|
|
7877
|
+
* Format: uuid
|
|
7878
|
+
* @description Analyze-time correlation id.
|
|
7879
|
+
*
|
|
7880
|
+
* Threaded into every tracing span on the recognition path;
|
|
7881
|
+
* carried over so the anonymize path can link its own spans
|
|
7882
|
+
* to the same request. The anonymize call supplies a fresh
|
|
7883
|
+
* id from the passed [`Document`] as the anonymize-side
|
|
7884
|
+
* correlation id — this one stays as the analyze-side
|
|
7885
|
+
* pointer.
|
|
7886
|
+
*
|
|
7887
|
+
* Required on the wire.
|
|
7888
|
+
*
|
|
7889
|
+
* [`Document`]: nvisy_schema::file::Document
|
|
7890
|
+
*/
|
|
7891
|
+
correlationId: string;
|
|
7892
|
+
/**
|
|
7893
|
+
* @description Caller-asserted jurisdictions.
|
|
7894
|
+
*
|
|
7895
|
+
* Recorded from `AnalyzerParams.scope.countries`.
|
|
7896
|
+
*/
|
|
7897
|
+
countries?: components["schemas"]["CountryCode"][];
|
|
7898
|
+
/**
|
|
7899
|
+
* @description Caller-asserted languages for the analysis.
|
|
7900
|
+
*
|
|
7901
|
+
* Recorded from `AnalyzerParams.scope.languages` at analyze
|
|
7902
|
+
* time; anonymize re-uses them verbatim.
|
|
7903
|
+
* @default []
|
|
7904
|
+
*/
|
|
7905
|
+
languages: components["schemas"]["Languages"];
|
|
7906
|
+
/**
|
|
7907
|
+
* @description Free-form request context: document tags, request purpose,
|
|
7908
|
+
* output audience. See elide's [`ScopeMetadata`].
|
|
7909
|
+
*/
|
|
7910
|
+
metadata?: components["schemas"]["ScopeMetadata"];
|
|
7911
|
+
};
|
|
7847
7912
|
/** @description Response returned after successful authentication (login/signup). */
|
|
7848
7913
|
AuthToken: {
|
|
7849
7914
|
/** @description The JWT API token for authentication. */
|
|
@@ -7923,6 +7988,32 @@ interface components {
|
|
|
7923
7988
|
/** @description Minimum corner (top-left, conventionally). */
|
|
7924
7989
|
min: components["schemas"]["Point"];
|
|
7925
7990
|
};
|
|
7991
|
+
/**
|
|
7992
|
+
* @description Text a [`TextRedaction::Clamp`] emits for out-of-range values.
|
|
7993
|
+
*
|
|
7994
|
+
* Three forms, deserialized untagged so callers can pick the
|
|
7995
|
+
* terser one for the case at hand:
|
|
7996
|
+
*
|
|
7997
|
+
* - **Plain string** (`"90 or older"`) — English-only shorthand.
|
|
7998
|
+
* - **Localized map** (`{"en": "90 or older", "fr": "90 ou plus"}`)
|
|
7999
|
+
* — one entry per language the deployment ships; missing
|
|
8000
|
+
* locales fall back to English at render time.
|
|
8001
|
+
* - **Format template** (`{"format": "{n} or older"}`) — the
|
|
8002
|
+
* engine substitutes `{n}` for the threshold, so a ceiling of
|
|
8003
|
+
* `90` renders `"90 or older"` without the caller repeating the
|
|
8004
|
+
* number. Same rendering in every language.
|
|
8005
|
+
*
|
|
8006
|
+
* Round-trips through serde as whichever form the caller wrote.
|
|
8007
|
+
*/
|
|
8008
|
+
ClampBucket: string | {
|
|
8009
|
+
/**
|
|
8010
|
+
* @description The template string. `{n}` is substituted; other text
|
|
8011
|
+
* is literal.
|
|
8012
|
+
*/
|
|
8013
|
+
format: string;
|
|
8014
|
+
} | {
|
|
8015
|
+
[key: string]: string;
|
|
8016
|
+
};
|
|
7926
8017
|
/**
|
|
7927
8018
|
* @description Color as 8-bit RGB.
|
|
7928
8019
|
*
|
|
@@ -7996,25 +8087,16 @@ interface components {
|
|
|
7996
8087
|
createdAt: string;
|
|
7997
8088
|
/** @description Account that created this connection. */
|
|
7998
8089
|
createdBy: components["schemas"]["AccountRef"];
|
|
7999
|
-
/** @description How an import reconciles files whose source object was deleted. */
|
|
8000
|
-
deletionPolicy: components["schemas"]["SyncDeletionPolicy"];
|
|
8001
8090
|
/** @description Human-readable connection display name. */
|
|
8002
8091
|
displayName: string;
|
|
8003
8092
|
/** @description Opaque identifier of the connection. */
|
|
8004
8093
|
id: components["schemas"]["ConnectionId"];
|
|
8005
|
-
/** @description Whether the connection is enabled
|
|
8094
|
+
/** @description Whether the connection is enabled. */
|
|
8006
8095
|
isActive: boolean;
|
|
8007
|
-
/**
|
|
8008
|
-
* Format: date-time
|
|
8009
|
-
* @description When the connection last synced successfully, if ever.
|
|
8010
|
-
*/
|
|
8011
|
-
lastSynced?: string;
|
|
8012
|
-
/** @description Object store provider (`s3`, `azure`, `gcs`). */
|
|
8096
|
+
/** @description Provider identifier (`s3`, `azure`, `gcs`, `openai`, `ollama`, ...). */
|
|
8013
8097
|
provider: string;
|
|
8014
|
-
/** @description
|
|
8015
|
-
|
|
8016
|
-
/** @description Whether the connection imports data in or exports data out. */
|
|
8017
|
-
syncMode: components["schemas"]["SyncMode"];
|
|
8098
|
+
/** @description Sync configuration; present only for sync-capable connections. */
|
|
8099
|
+
sync?: components["schemas"]["SyncSchedule"];
|
|
8018
8100
|
/**
|
|
8019
8101
|
* Format: date-time
|
|
8020
8102
|
* @description When the connection was last updated.
|
|
@@ -8024,39 +8106,12 @@ interface components {
|
|
|
8024
8106
|
workspaceSlug: components["schemas"]["Handle"];
|
|
8025
8107
|
};
|
|
8026
8108
|
/**
|
|
8027
|
-
* @description A fully-typed
|
|
8109
|
+
* @description A fully-typed connection configuration for any capability.
|
|
8028
8110
|
*
|
|
8029
|
-
*
|
|
8030
|
-
*
|
|
8031
|
-
* shared optional `root_path` and a nested `credentials` object, giving a wire
|
|
8032
|
-
* shape like
|
|
8033
|
-
* `{ "provider": "s3", "rootPath": "in/", "credentials": { "bucket": "b", "accessKeyId": "..." } }`.
|
|
8034
|
-
*
|
|
8035
|
-
* Secrets are masked in [`Debug`]; serialization exists only to persist the
|
|
8036
|
-
* config encrypted at rest, never to return it in API responses.
|
|
8111
|
+
* Untagged: the two inner enums have disjoint `provider` values, so serde
|
|
8112
|
+
* resolves the variant from the flat payload without an outer discriminator.
|
|
8037
8113
|
*/
|
|
8038
|
-
ConnectionConfig:
|
|
8039
|
-
/** @description S3 credentials. */
|
|
8040
|
-
credentials: components["schemas"]["S3Credentials"];
|
|
8041
|
-
/** @constant */
|
|
8042
|
-
provider: "s3";
|
|
8043
|
-
/** @description Optional root prefix within the bucket; keys resolve relative to it. */
|
|
8044
|
-
rootPath?: string;
|
|
8045
|
-
} | {
|
|
8046
|
-
/** @description Azure credentials. */
|
|
8047
|
-
credentials: components["schemas"]["AzureCredentials"];
|
|
8048
|
-
/** @constant */
|
|
8049
|
-
provider: "azure";
|
|
8050
|
-
/** @description Optional root prefix within the container; keys resolve relative to it. */
|
|
8051
|
-
rootPath?: string;
|
|
8052
|
-
} | {
|
|
8053
|
-
/** @description GCS credentials. */
|
|
8054
|
-
credentials: components["schemas"]["GcsCredentials"];
|
|
8055
|
-
/** @constant */
|
|
8056
|
-
provider: "gcs";
|
|
8057
|
-
/** @description Optional root prefix within the bucket; keys resolve relative to it. */
|
|
8058
|
-
rootPath?: string;
|
|
8059
|
-
};
|
|
8114
|
+
ConnectionConfig: components["schemas"]["StorageConfig"] | components["schemas"]["LlmConfig"];
|
|
8060
8115
|
/** @description Opaque conn identifier (conn_<uuid>). */
|
|
8061
8116
|
ConnectionId: string;
|
|
8062
8117
|
/**
|
|
@@ -8089,7 +8144,7 @@ interface components {
|
|
|
8089
8144
|
/** @description Opaque identifier of the connection. */
|
|
8090
8145
|
connectionId: components["schemas"]["ConnectionId"];
|
|
8091
8146
|
};
|
|
8092
|
-
/** @description A connection sync
|
|
8147
|
+
/** @description A connection sync (import or export). */
|
|
8093
8148
|
ConnectionSync: {
|
|
8094
8149
|
/**
|
|
8095
8150
|
* Format: int32
|
|
@@ -8197,30 +8252,23 @@ interface components {
|
|
|
8197
8252
|
/** @description Request payload for creating a new workspace connection. */
|
|
8198
8253
|
CreateConnection: {
|
|
8199
8254
|
/**
|
|
8200
|
-
* @description Typed provider configuration (provider tag + its credentials
|
|
8201
|
-
*
|
|
8202
|
-
*
|
|
8255
|
+
* @description Typed provider configuration (provider tag + its credentials), encrypted
|
|
8256
|
+
* at rest. The `provider` tag selects which credential shape is required and
|
|
8257
|
+
* which capability the connection has.
|
|
8203
8258
|
*/
|
|
8204
8259
|
config: components["schemas"]["ConnectionConfig"];
|
|
8205
|
-
/**
|
|
8206
|
-
* @description How an import reconciles files whose source object was deleted.
|
|
8207
|
-
* @default ignore
|
|
8208
|
-
*/
|
|
8209
|
-
deletionPolicy: components["schemas"]["SyncDeletionPolicy"];
|
|
8210
8260
|
/** @description Human-readable connection display name. */
|
|
8211
8261
|
displayName: string;
|
|
8212
8262
|
/**
|
|
8213
|
-
* @description Whether the connection is enabled
|
|
8214
|
-
*
|
|
8263
|
+
* @description Whether the connection is enabled. Omit to default to active; set `false`
|
|
8264
|
+
* to create it disabled.
|
|
8215
8265
|
*/
|
|
8216
8266
|
isActive?: boolean;
|
|
8217
|
-
/** @description Cron expression for scheduled imports; omit for manual-only. */
|
|
8218
|
-
scheduleCron?: string;
|
|
8219
8267
|
/**
|
|
8220
|
-
* @description
|
|
8221
|
-
*
|
|
8268
|
+
* @description Sync configuration. Applies only to sync-capable providers (object
|
|
8269
|
+
* stores); rejected for others. Omit for manual-only defaults.
|
|
8222
8270
|
*/
|
|
8223
|
-
|
|
8271
|
+
sync?: components["schemas"]["SyncScheduleInput"];
|
|
8224
8272
|
};
|
|
8225
8273
|
/** @description Request payload for creating a new workspace invite. */
|
|
8226
8274
|
CreateInvite: {
|
|
@@ -8276,20 +8324,33 @@ interface components {
|
|
|
8276
8324
|
/**
|
|
8277
8325
|
* @description Request payload for creating a new workspace policy.
|
|
8278
8326
|
*
|
|
8279
|
-
* The
|
|
8280
|
-
*
|
|
8281
|
-
* here.
|
|
8327
|
+
* The body comes from a template or an inline definition (see [`PolicyBody`]).
|
|
8328
|
+
* The body's `name` and `description` drive the stored columns unless
|
|
8329
|
+
* overridden here.
|
|
8282
8330
|
*/
|
|
8283
8331
|
CreatePolicy: {
|
|
8284
|
-
/** @description The structured policy body consumed by the engine. */
|
|
8285
|
-
definition: components["schemas"]["PolicyDefinition"];
|
|
8286
8332
|
/** @description Optional description override. Defaults to the policy's own description. */
|
|
8287
8333
|
description?: string;
|
|
8288
8334
|
/** @description Optional display name override. Defaults to the policy's own name. */
|
|
8289
8335
|
displayName?: string;
|
|
8290
8336
|
/** @description URL slug, unique within the workspace and immutable after creation. */
|
|
8291
8337
|
slug: components["schemas"]["Handle"];
|
|
8292
|
-
}
|
|
8338
|
+
} & ({
|
|
8339
|
+
/** @constant */
|
|
8340
|
+
source: "template";
|
|
8341
|
+
/** @description The built-in policy template to seed from. */
|
|
8342
|
+
template: components["schemas"]["PolicyTemplate"];
|
|
8343
|
+
} | {
|
|
8344
|
+
/**
|
|
8345
|
+
* @description The structured policy body.
|
|
8346
|
+
*
|
|
8347
|
+
* Boxed to keep the enum small: an inline body is much larger than a
|
|
8348
|
+
* template id, and most requests use a template.
|
|
8349
|
+
*/
|
|
8350
|
+
definition: components["schemas"]["PolicyDefinition"];
|
|
8351
|
+
/** @constant */
|
|
8352
|
+
source: "inline";
|
|
8353
|
+
});
|
|
8293
8354
|
/** @description Request payload for creating a new workspace webhook. */
|
|
8294
8355
|
CreateWebhook: {
|
|
8295
8356
|
/** @description Detailed description of the webhook's purpose (max 500 characters). */
|
|
@@ -8496,6 +8557,24 @@ interface components {
|
|
|
8496
8557
|
*/
|
|
8497
8558
|
validator?: string;
|
|
8498
8559
|
};
|
|
8560
|
+
/**
|
|
8561
|
+
* @description The coarseness a [`GeneralizeDate`] reduces a date/timestamp to.
|
|
8562
|
+
*
|
|
8563
|
+
* Every rendering is an ISO-8601 form, so the output is locale-independent
|
|
8564
|
+
* by construction — no localized month names or week markers to configure.
|
|
8565
|
+
*/
|
|
8566
|
+
DateGranularity: "year" | "year_month" | "hour";
|
|
8567
|
+
/**
|
|
8568
|
+
* @description Which written date convention a [`GeneralizeDate`] accepts on *input*.
|
|
8569
|
+
*
|
|
8570
|
+
* This governs only how the entity value is *parsed*; the output mirrors
|
|
8571
|
+
* each value's own convention (see [`GeneralizeDate::render`]). The choice
|
|
8572
|
+
* is explicit, never inferred from the entity's language: `03/04/1987` is
|
|
8573
|
+
* a real date under both conventions (March 4 vs. April 3), so a wrong
|
|
8574
|
+
* guess would silently emit a plausible-but-wrong month. The policy
|
|
8575
|
+
* author, who knows the corpus's convention, sets it.
|
|
8576
|
+
*/
|
|
8577
|
+
DateStyle: "iso" | "us";
|
|
8499
8578
|
/**
|
|
8500
8579
|
* @description Pixel dimensions of an image or any 2-D canvas.
|
|
8501
8580
|
*
|
|
@@ -8563,6 +8642,36 @@ interface components {
|
|
|
8563
8642
|
* mentions, not a global key.
|
|
8564
8643
|
*/
|
|
8565
8644
|
EntityCoRef: string;
|
|
8645
|
+
/**
|
|
8646
|
+
* @description A modality-tagged group of recognised entities.
|
|
8647
|
+
*
|
|
8648
|
+
* The unit [`Audit`] stores in `body` and in every `parts`
|
|
8649
|
+
* entry.
|
|
8650
|
+
*
|
|
8651
|
+
* Tagged by `modality` (snake_case) so deserialization picks the
|
|
8652
|
+
* right variant and the entity vec inside is statically typed
|
|
8653
|
+
* per modality — apply-time we hand each variant back to elide
|
|
8654
|
+
* as a `Vec<Entity<M>>` for the appropriate `M`.
|
|
8655
|
+
*
|
|
8656
|
+
* [`Audit`]: crate::Audit
|
|
8657
|
+
*/
|
|
8658
|
+
EntityGroup: {
|
|
8659
|
+
entities: components["schemas"]["TextEntityRecord"][];
|
|
8660
|
+
/** @constant */
|
|
8661
|
+
modality: "text";
|
|
8662
|
+
} | {
|
|
8663
|
+
entities: components["schemas"]["TabularEntityRecord"][];
|
|
8664
|
+
/** @constant */
|
|
8665
|
+
modality: "tabular";
|
|
8666
|
+
} | {
|
|
8667
|
+
entities: components["schemas"]["ImageEntityRecord"][];
|
|
8668
|
+
/** @constant */
|
|
8669
|
+
modality: "image";
|
|
8670
|
+
} | {
|
|
8671
|
+
entities: components["schemas"]["AudioEntityRecord"][];
|
|
8672
|
+
/** @constant */
|
|
8673
|
+
modality: "audio";
|
|
8674
|
+
};
|
|
8566
8675
|
/**
|
|
8567
8676
|
* @description HTTP error response representation with security-conscious design.
|
|
8568
8677
|
*
|
|
@@ -8688,6 +8797,20 @@ interface components {
|
|
|
8688
8797
|
*/
|
|
8689
8798
|
serviceAccountPath: string;
|
|
8690
8799
|
};
|
|
8800
|
+
/**
|
|
8801
|
+
* @description Which operator to apply to Article 9 special-category entities.
|
|
8802
|
+
*
|
|
8803
|
+
* - [`Erase`](Self::Erase) — the default no-lawful-basis posture.
|
|
8804
|
+
* Every match is removed.
|
|
8805
|
+
* - [`Pseudonymize`](Self::Pseudonymize) — identity-preserving
|
|
8806
|
+
* surrogate. Suitable when an Article 9(2) carve-out
|
|
8807
|
+
* (explicit consent, employment law, public-health public
|
|
8808
|
+
* interest, ...) authorizes retention and downstream
|
|
8809
|
+
* analytics need per-entity coreference across mentions. The
|
|
8810
|
+
* 9(2) basis itself remains the caller's out-of-band
|
|
8811
|
+
* obligation to establish and document.
|
|
8812
|
+
*/
|
|
8813
|
+
GdprArticle9Treatment: "erase" | "pseudonymize";
|
|
8691
8814
|
/** @description Request to generate a shareable invite code for a workspace. */
|
|
8692
8815
|
GenerateInviteCode: {
|
|
8693
8816
|
/** @description When the invite code expires. */
|
|
@@ -8697,14 +8820,6 @@ interface components {
|
|
|
8697
8820
|
};
|
|
8698
8821
|
/** @description Lowercase, dash-separated identifier used in URLs and as account handles. */
|
|
8699
8822
|
Handle: string;
|
|
8700
|
-
/**
|
|
8701
|
-
* @description SHA-2 variant for the [`TextRedaction::Hash`] operator.
|
|
8702
|
-
*
|
|
8703
|
-
* Wire mirror of elide's `Sha2Algorithm`; the runtime `From`
|
|
8704
|
-
* conversion is on the engine side so this crate stays free
|
|
8705
|
-
* of the elide-redaction dep.
|
|
8706
|
-
*/
|
|
8707
|
-
HashAlgorithm: "sha256" | "sha512";
|
|
8708
8823
|
/** @description Response body for `GET /health/`. */
|
|
8709
8824
|
Health: {
|
|
8710
8825
|
/** @description Per-component health checks. */
|
|
@@ -8716,6 +8831,30 @@ interface components {
|
|
|
8716
8831
|
};
|
|
8717
8832
|
/** @description Operational status of a service component. */
|
|
8718
8833
|
HealthStatus: "healthy" | "degraded" | "unhealthy";
|
|
8834
|
+
/**
|
|
8835
|
+
* @description Which HIPAA §164.514 de-identification method to apply.
|
|
8836
|
+
*
|
|
8837
|
+
* The tradeoff is analytic yield vs. downstream constraint:
|
|
8838
|
+
*
|
|
8839
|
+
* - [`SafeHarbor`](Self::SafeHarbor) — strips all eighteen
|
|
8840
|
+
* identifier categories. No Data Use Agreement or statistician
|
|
8841
|
+
* required, but dates, coarse geography, and ages ≥ 90 all
|
|
8842
|
+
* disappear or collapse.
|
|
8843
|
+
* - [`LimitedDataSet`](Self::LimitedDataSet) — narrower
|
|
8844
|
+
* subtraction (§164.514(e)(2)) that keeps dates, town/city,
|
|
8845
|
+
* state, ZIP, and ages verbatim. Suitable for research and
|
|
8846
|
+
* public-health handoffs *only when* a Data Use Agreement
|
|
8847
|
+
* governs the recipient's use.
|
|
8848
|
+
* - [`ExpertDetermination`](Self::ExpertDetermination) —
|
|
8849
|
+
* starting scaffold for §164.514(b)(1). Same label set as
|
|
8850
|
+
* Safe Harbor with pseudonymization as the default terminal
|
|
8851
|
+
* (identity-preserving across mentions). **Does not certify
|
|
8852
|
+
* de-identification** — a qualified statistician must
|
|
8853
|
+
* document that re-identification risk is "very small" under
|
|
8854
|
+
* the applicable methodology before the output can be treated
|
|
8855
|
+
* as de-identified.
|
|
8856
|
+
*/
|
|
8857
|
+
HipaaDeidMethod: "safe_harbor" | "limited_data_set" | "expert_determination";
|
|
8719
8858
|
/**
|
|
8720
8859
|
* @description Per-call payload a recognizer inspects for the [`Image`] modality.
|
|
8721
8860
|
*
|
|
@@ -8817,12 +8956,17 @@ interface components {
|
|
|
8817
8956
|
/** @description The elide entity, as recognition produced it. */
|
|
8818
8957
|
entity: components["schemas"]["ImageEntity"];
|
|
8819
8958
|
/**
|
|
8820
|
-
* @description Reviewer-supplied override.
|
|
8959
|
+
* @description Reviewer-supplied redaction override.
|
|
8821
8960
|
*
|
|
8822
|
-
* `None` means "use the policy's decision";
|
|
8823
|
-
* overrides
|
|
8961
|
+
* `None` means "use the matching policy rule's decision";
|
|
8962
|
+
* `Some(...)` overrides that rule for this specific entity
|
|
8963
|
+
* at apply time. Reviewer overrides take precedence over
|
|
8964
|
+
* every policy rule and inherit the authority of the
|
|
8965
|
+
* [`Review::policy_id`] they name — the audit event's
|
|
8966
|
+
* attribution stamps that policy so the trail names the
|
|
8967
|
+
* authority under which the override fired.
|
|
8824
8968
|
*/
|
|
8825
|
-
|
|
8969
|
+
review?: components["schemas"]["Review"];
|
|
8826
8970
|
};
|
|
8827
8971
|
/**
|
|
8828
8972
|
* @description One thing that happened to an entity, with its effect on confidence.
|
|
@@ -9207,76 +9351,163 @@ interface components {
|
|
|
9207
9351
|
*/
|
|
9208
9352
|
InviteStatus: "pending" | "accepted" | "declined" | "canceled" | "expired" | "revoked";
|
|
9209
9353
|
/**
|
|
9210
|
-
* @description Kind of sensitive information: a
|
|
9211
|
-
* zero or more tags.
|
|
9212
|
-
*
|
|
9213
|
-
* Names are conventionally `SCREAMING_SNAKE_CASE` (`"PHONE_NUMBER"`),
|
|
9214
|
-
* matching Presidio, but this is convention, not enforcement. The
|
|
9215
|
-
* taxonomy is open: a [`Label`] can be minted for any name a recognizer
|
|
9216
|
-
* or configuration needs.
|
|
9354
|
+
* @description Kind of sensitive information: a stable [`id`], per-language
|
|
9355
|
+
* [`LabelLocale`]s, and zero or more tags.
|
|
9217
9356
|
*
|
|
9218
9357
|
* # Identity
|
|
9219
9358
|
*
|
|
9220
|
-
* Labels are identified by [`
|
|
9221
|
-
*
|
|
9222
|
-
*
|
|
9223
|
-
*
|
|
9359
|
+
* Labels are identified by [`id`] — a stable lowercase `snake_case`
|
|
9360
|
+
* string (`"phone_number"`), never localized, and the catalog key that a
|
|
9361
|
+
* [`LabelRef`] resolves through. Selectors match by id. Derived equality
|
|
9362
|
+
* is *structural*: two labels with the same id but different
|
|
9363
|
+
* localizations or tags are not `==`; compare [`id`] for identity.
|
|
9364
|
+
*
|
|
9365
|
+
* # Localization
|
|
9366
|
+
*
|
|
9367
|
+
* The display name and description are localized per [`LanguageTag`].
|
|
9368
|
+
* English (`"en"`) is required at construction and is the fallback when a
|
|
9369
|
+
* requested locale is absent, so [`localization`] always returns some
|
|
9370
|
+
* text — NER and LLM read the analysis language's name and description to
|
|
9371
|
+
* prompt the model, keyed by the stable id.
|
|
9224
9372
|
*
|
|
9225
9373
|
* # Tags
|
|
9226
9374
|
*
|
|
9227
|
-
* [`tags`] is a free-form list of short identifiers policy selectors
|
|
9228
|
-
*
|
|
9229
|
-
*
|
|
9230
|
-
*
|
|
9231
|
-
* labels can ship with zero tags.
|
|
9375
|
+
* [`tags`] is a free-form list of short identifiers policy selectors can
|
|
9376
|
+
* match against. Built-in labels carry category tags (`personal_identity`,
|
|
9377
|
+
* `contact_info`, `financial`, …) plus cross-cutting tags where applicable
|
|
9378
|
+
* (`pii`, `phi`, `pci`). Custom labels can ship with zero tags.
|
|
9232
9379
|
*
|
|
9233
|
-
* [`
|
|
9380
|
+
* [`id`]: Label::id
|
|
9381
|
+
* [`localization`]: Label::localization
|
|
9234
9382
|
* [`tags`]: Label::tags
|
|
9235
9383
|
*/
|
|
9236
9384
|
Label: {
|
|
9237
|
-
|
|
9238
|
-
|
|
9385
|
+
id: string;
|
|
9386
|
+
localizations: components["schemas"]["LocalizedText"];
|
|
9239
9387
|
tags: string[];
|
|
9240
9388
|
};
|
|
9241
9389
|
/**
|
|
9242
|
-
* @description
|
|
9243
|
-
*
|
|
9244
|
-
* Holds the authoritative definitions (names + descriptions) for a run.
|
|
9245
|
-
* A [`LabelRef`] carried on a detection or entity is resolved back to
|
|
9246
|
-
* its full [`Label`] with [`get`].
|
|
9390
|
+
* @description One entry inside a [`TableRule`]: the label to match plus the
|
|
9391
|
+
* per-modality operators to run.
|
|
9247
9392
|
*
|
|
9248
|
-
*
|
|
9393
|
+
* Kept as a named struct rather than a `(LabelRef, ModalityRedactions)`
|
|
9394
|
+
* tuple so the wire JSON reads `{"label": "email", "action": {…}}`
|
|
9395
|
+
* instead of a positional pair.
|
|
9249
9396
|
*/
|
|
9250
|
-
|
|
9251
|
-
|
|
9397
|
+
LabelEntry: {
|
|
9398
|
+
/** @description Per-modality operators to run for matching entities. */
|
|
9399
|
+
action: components["schemas"]["ModalityRedactions"];
|
|
9400
|
+
/** @description Label the entry matches on. */
|
|
9401
|
+
label: components["schemas"]["LabelRef"];
|
|
9252
9402
|
};
|
|
9253
9403
|
/**
|
|
9254
|
-
* @description
|
|
9404
|
+
* @description Named cluster of [`LabelRef`]s a policy's rules can reference
|
|
9405
|
+
* by name via [`Predicate::LabelInGroup`].
|
|
9255
9406
|
*
|
|
9256
|
-
*
|
|
9407
|
+
* Groups live on the [`PolicyDefinition`] that declares them
|
|
9408
|
+
* and are visible only to that policy's own rules. Templates
|
|
9409
|
+
* ship one group per canonical label list (`"hipaa_18"`,
|
|
9410
|
+
* `"gdpr_article_9"`, `"pci_chd"`, `"pci_sad"`), and every
|
|
9411
|
+
* rule that targets that list references the group by name
|
|
9412
|
+
* instead of respelling the labels. When elide adds a new label
|
|
9413
|
+
* to a category, extending the group covers every rule that
|
|
9414
|
+
* referenced it — no rule edit.
|
|
9415
|
+
*
|
|
9416
|
+
* **Compilation**: at request time the engine synthesises a
|
|
9417
|
+
* `group:<policy_id>:<name>` tag on every label listed in the
|
|
9418
|
+
* group, then rewrites [`Predicate::LabelInGroup { group }`]
|
|
9419
|
+
* into [`Predicate::TagOneOf { tags: ["group:<policy_id>:<name>"] }`].
|
|
9420
|
+
* That routes through the same `Anonymizer::with_tag` fast
|
|
9421
|
+
* path as any authored tag — no new engine machinery, no
|
|
9422
|
+
* per-request walk over group membership. Scoping the tag by
|
|
9423
|
+
* `policy_id` keeps two policies that both declare `hipaa_18`
|
|
9424
|
+
* with different labelsets from stepping on each other.
|
|
9425
|
+
*
|
|
9426
|
+
* **Unknown group names error at request validation**, not at
|
|
9427
|
+
* apply time. A typo doesn't silently underfire.
|
|
9428
|
+
*
|
|
9429
|
+
* [`PolicyDefinition`]: super::PolicyDefinition
|
|
9430
|
+
* [`Predicate::LabelInGroup`]: super::predicate::Predicate::LabelInGroup
|
|
9431
|
+
* [`Predicate::LabelInGroup { group }`]: super::predicate::Predicate::LabelInGroup
|
|
9432
|
+
* [`Predicate::TagOneOf { tags: ["group:<policy_id>:<name>"] }`]: super::predicate::Predicate::TagOneOf
|
|
9257
9433
|
*/
|
|
9258
|
-
|
|
9434
|
+
LabelGroup: {
|
|
9435
|
+
/** @description Optional description for reviewers. */
|
|
9436
|
+
description?: string;
|
|
9259
9437
|
/**
|
|
9260
|
-
* @description
|
|
9438
|
+
* @description Labels this group covers, by ref.
|
|
9261
9439
|
*
|
|
9262
|
-
*
|
|
9263
|
-
*
|
|
9440
|
+
* A label that doesn't appear in the request's compiled
|
|
9441
|
+
* [`LabelCatalog`] is silently skipped at tag-synthesis time
|
|
9442
|
+
* — a group can safely list labels the current build
|
|
9443
|
+
* doesn't emit (e.g. modality-gated ones); rules keyed off
|
|
9444
|
+
* the group still fire on whatever labels *are* present.
|
|
9445
|
+
*
|
|
9446
|
+
* [`LabelCatalog`]: elide_core::entity::LabelCatalog
|
|
9264
9447
|
*/
|
|
9265
|
-
|
|
9266
|
-
/**
|
|
9267
|
-
|
|
9448
|
+
labels: components["schemas"]["LabelRef"][];
|
|
9449
|
+
/**
|
|
9450
|
+
* @description Stable name a [`Predicate::LabelInGroup`] references.
|
|
9451
|
+
*
|
|
9452
|
+
* Free-form; a policy layer picks the vocabulary. Recommend
|
|
9453
|
+
* snake_case identifiers (`hipaa_18`, `gdpr_article_9`) —
|
|
9454
|
+
* they compile to `group:hipaa_18` tags on the catalog and
|
|
9455
|
+
* read cleanly in audit provenance.
|
|
9456
|
+
*
|
|
9457
|
+
* [`Predicate::LabelInGroup`]: super::predicate::Predicate::LabelInGroup
|
|
9458
|
+
*/
|
|
9459
|
+
name: string;
|
|
9460
|
+
};
|
|
9461
|
+
/**
|
|
9462
|
+
* @description A label's human-facing text in one language: a display name and an
|
|
9463
|
+
* optional fuller description.
|
|
9464
|
+
*
|
|
9465
|
+
* The `name` is a short, natural-language phrase (`"phone number"`) — the
|
|
9466
|
+
* label a zero-shot NER model like GLiNER matches on, and the primary
|
|
9467
|
+
* text an LLM prompt shows. The `description` is optional extra guidance
|
|
9468
|
+
* for backends that consume it (GLiNER-2.0's bi-encoder, an LLM); leave
|
|
9469
|
+
* it `None` when the name alone is clear.
|
|
9470
|
+
*/
|
|
9471
|
+
LabelLocale: {
|
|
9472
|
+
/**
|
|
9473
|
+
* @description Optional fuller description, for description-capable backends
|
|
9474
|
+
* (GLiNER-2.0, LLM). `None` when the name suffices.
|
|
9475
|
+
*/
|
|
9476
|
+
description?: string;
|
|
9477
|
+
/**
|
|
9478
|
+
* @description Short natural-language display name (e.g. `"phone number"`). What a
|
|
9479
|
+
* zero-shot NER model matches on and an LLM prompt surfaces.
|
|
9480
|
+
*/
|
|
9481
|
+
name: string;
|
|
9268
9482
|
};
|
|
9269
9483
|
/**
|
|
9270
|
-
* @description Lightweight reference to a [`Label`], carrying only its
|
|
9484
|
+
* @description Lightweight reference to a [`Label`], carrying only its id.
|
|
9271
9485
|
*
|
|
9272
9486
|
* This is what detections and entities hold: cloning is cheap (short
|
|
9273
|
-
*
|
|
9274
|
-
*
|
|
9487
|
+
* ids inline into the [`HipStr`]), and the full [`Label`], with its
|
|
9488
|
+
* localized names and descriptions, is resolved on demand from a
|
|
9489
|
+
* [`LabelCatalog`].
|
|
9275
9490
|
*
|
|
9276
9491
|
* [`Label`]: crate::entity::Label
|
|
9277
9492
|
* [`LabelCatalog`]: crate::entity::LabelCatalog
|
|
9278
9493
|
*/
|
|
9279
9494
|
LabelRef: string;
|
|
9495
|
+
/**
|
|
9496
|
+
* @description Per-policy label-catalog selection.
|
|
9497
|
+
*
|
|
9498
|
+
* Picks builtins by name + adds inline custom schemas.
|
|
9499
|
+
*/
|
|
9500
|
+
Labels: {
|
|
9501
|
+
/**
|
|
9502
|
+
* @description Builtin label names to enable.
|
|
9503
|
+
*
|
|
9504
|
+
* E.g. `"email_address"`, `"phone_number"`. Unknown names
|
|
9505
|
+
* log a warning and are skipped.
|
|
9506
|
+
*/
|
|
9507
|
+
builtins?: components["schemas"]["LabelRef"][];
|
|
9508
|
+
/** @description Custom labels defined inline by the caller. */
|
|
9509
|
+
custom?: components["schemas"]["Label"][];
|
|
9510
|
+
};
|
|
9280
9511
|
/**
|
|
9281
9512
|
* @description Single language detection result.
|
|
9282
9513
|
*
|
|
@@ -9396,12 +9627,68 @@ interface components {
|
|
|
9396
9627
|
/** @description Sort by field. */
|
|
9397
9628
|
sortBy?: components["schemas"]["MemberSortField"];
|
|
9398
9629
|
};
|
|
9399
|
-
/**
|
|
9400
|
-
|
|
9401
|
-
|
|
9402
|
-
|
|
9403
|
-
|
|
9404
|
-
|
|
9630
|
+
/**
|
|
9631
|
+
* @description A fully-typed LLM inference connection configuration.
|
|
9632
|
+
*
|
|
9633
|
+
* The `provider` tag selects the variant and thereby the credential shape, so
|
|
9634
|
+
* an OpenAI connection cannot carry Anthropic credentials. Serialization exists
|
|
9635
|
+
* only to persist the config encrypted at rest, never to return it in API
|
|
9636
|
+
* responses.
|
|
9637
|
+
*/
|
|
9638
|
+
LlmConfig: {
|
|
9639
|
+
/** @description Override the API base URL (for Azure OpenAI or a proxy). Optional. */
|
|
9640
|
+
baseUrl?: string;
|
|
9641
|
+
/** @description OpenAI credentials. */
|
|
9642
|
+
credentials: components["schemas"]["OpenAiCredentials"];
|
|
9643
|
+
/** @description Default model to use when a request does not specify one. Optional. */
|
|
9644
|
+
defaultModel?: string;
|
|
9645
|
+
/** @constant */
|
|
9646
|
+
provider: "openai";
|
|
9647
|
+
} | {
|
|
9648
|
+
/** @description Base URL of the Ollama server (e.g. `http://localhost:11434`). */
|
|
9649
|
+
baseUrl: string;
|
|
9650
|
+
/** @description Default model to use when a request does not specify one. Optional. */
|
|
9651
|
+
defaultModel?: string;
|
|
9652
|
+
/** @constant */
|
|
9653
|
+
provider: "ollama";
|
|
9654
|
+
} | {
|
|
9655
|
+
/** @description Override the API base URL. Optional. */
|
|
9656
|
+
baseUrl?: string;
|
|
9657
|
+
/** @description Anthropic credentials. */
|
|
9658
|
+
credentials: components["schemas"]["AnthropicCredentials"];
|
|
9659
|
+
/** @description Default model to use when a request does not specify one. Optional. */
|
|
9660
|
+
defaultModel?: string;
|
|
9661
|
+
/** @constant */
|
|
9662
|
+
provider: "anthropic";
|
|
9663
|
+
};
|
|
9664
|
+
/**
|
|
9665
|
+
* @description A value localized per [`LanguageTag`], with an English-first fallback.
|
|
9666
|
+
*
|
|
9667
|
+
* The reusable mechanism behind any text that varies by language: a
|
|
9668
|
+
* [`Label`]'s display name and description, a redaction operator's bucket
|
|
9669
|
+
* label, and so on. English (`"en"`) is the conventional anchor —
|
|
9670
|
+
* constructors seed it, and [`resolve`] falls back to it (then to any
|
|
9671
|
+
* entry) when a requested locale is absent, so a caller that supplied
|
|
9672
|
+
* English always gets *some* value.
|
|
9673
|
+
*
|
|
9674
|
+
* Generic over the stored value `T`, so it carries a bare `HipStr`
|
|
9675
|
+
* (a bucket label) or a richer struct (a label's name-plus-description)
|
|
9676
|
+
* equally. It is a thin wrapper over a `HashMap<LanguageTag, T>`; the
|
|
9677
|
+
* added value is the fallback policy in [`resolve`], kept in one place
|
|
9678
|
+
* rather than reimplemented at each use site.
|
|
9679
|
+
*
|
|
9680
|
+
* [`Label`]: crate::entity::Label
|
|
9681
|
+
* [`resolve`]: LocalizedText::resolve
|
|
9682
|
+
*/
|
|
9683
|
+
LocalizedText: {
|
|
9684
|
+
[key: string]: components["schemas"]["LabelLocale"];
|
|
9685
|
+
};
|
|
9686
|
+
/** @description Request payload for login. */
|
|
9687
|
+
Login: {
|
|
9688
|
+
/** @description Email address or username of the account. */
|
|
9689
|
+
identifier: string;
|
|
9690
|
+
/** @description Password of the account. */
|
|
9691
|
+
password: string;
|
|
9405
9692
|
/**
|
|
9406
9693
|
* @description Whether to remember this device for extended session. Defaults to false.
|
|
9407
9694
|
* @default false
|
|
@@ -9567,6 +9854,11 @@ interface components {
|
|
|
9567
9854
|
/** @description Whether to send email notifications. */
|
|
9568
9855
|
notifyViaEmail: boolean;
|
|
9569
9856
|
};
|
|
9857
|
+
/** @description OpenAI API credentials. */
|
|
9858
|
+
OpenAiCredentials: {
|
|
9859
|
+
/** @description OpenAI API key. */
|
|
9860
|
+
apiKey: string;
|
|
9861
|
+
};
|
|
9570
9862
|
/**
|
|
9571
9863
|
* @description Identifies a redaction operator, for the redaction audit a higher
|
|
9572
9864
|
* layer assembles.
|
|
@@ -9637,6 +9929,54 @@ interface components {
|
|
|
9637
9929
|
*/
|
|
9638
9930
|
customDictionaries?: components["schemas"]["CustomDictionary"][];
|
|
9639
9931
|
};
|
|
9932
|
+
/**
|
|
9933
|
+
* @description Which PCI DSS subsection this template addresses.
|
|
9934
|
+
*
|
|
9935
|
+
* - [`PanRender`](Self::PanRender) — §3.5.1 render posture for
|
|
9936
|
+
* stored Primary Account Numbers. Carries a [`PciPanRender`]
|
|
9937
|
+
* picking between the shipped render approaches.
|
|
9938
|
+
* - [`SavErase`](Self::SavErase) — §3.3.1 prohibition on
|
|
9939
|
+
* storing Sensitive Authentication Data (CVV/CVC, track data,
|
|
9940
|
+
* PIN blocks) after authorization. No options — SAV has one
|
|
9941
|
+
* posture: erase.
|
|
9942
|
+
*/
|
|
9943
|
+
PciDssPart: {
|
|
9944
|
+
/** @constant */
|
|
9945
|
+
part: "pan_render";
|
|
9946
|
+
/**
|
|
9947
|
+
* @description Which of the §3.5.1-permitted render approaches to
|
|
9948
|
+
* apply.
|
|
9949
|
+
*/
|
|
9950
|
+
render: components["schemas"]["PciPanRender"];
|
|
9951
|
+
} | {
|
|
9952
|
+
/** @constant */
|
|
9953
|
+
part: "sav_erase";
|
|
9954
|
+
};
|
|
9955
|
+
/**
|
|
9956
|
+
* @description Which PCI DSS §3.5.1-permitted render approach to apply to
|
|
9957
|
+
* stored PAN.
|
|
9958
|
+
*
|
|
9959
|
+
* The truncation / hash split is a real operational decision,
|
|
9960
|
+
* not a style knob:
|
|
9961
|
+
*
|
|
9962
|
+
* - Truncation is irreversible with no key material to protect;
|
|
9963
|
+
* destroys uniqueness (two PANs sharing the retained digits
|
|
9964
|
+
* collapse to the same string), so unsuitable when downstream
|
|
9965
|
+
* joins or dedup need per-row identity across a PAN column.
|
|
9966
|
+
* - HMAC preserves 1:1 uniqueness (same PAN → same digest),
|
|
9967
|
+
* enabling joins, dedup, and fraud-scoring on the digest. But
|
|
9968
|
+
* the tenant owns a key the engine reads via
|
|
9969
|
+
* [`Engine::with_key_provider`]; a leaked key permits offline
|
|
9970
|
+
* PAN enumeration against the shipped digests.
|
|
9971
|
+
*
|
|
9972
|
+
* The two axes inside truncation and inside HMAC are narrower.
|
|
9973
|
+
*
|
|
9974
|
+
* Callers wanting more than one dispatched from one policy
|
|
9975
|
+
* compose multiple templates.
|
|
9976
|
+
*
|
|
9977
|
+
* [`Engine::with_key_provider`]: https://docs.rs/nvisy-engine/latest/nvisy_engine/struct.Engine.html
|
|
9978
|
+
*/
|
|
9979
|
+
PciPanRender: "truncate" | "truncate_last_four" | "hmac_sha256" | "hmac_sha512";
|
|
9640
9980
|
/** @description Pipeline response. */
|
|
9641
9981
|
Pipeline: {
|
|
9642
9982
|
/** @description Artifacts produced by pipeline runs. */
|
|
@@ -9684,16 +10024,19 @@ interface components {
|
|
|
9684
10024
|
/**
|
|
9685
10025
|
* @description A pipeline's detection + governance intent.
|
|
9686
10026
|
*
|
|
9687
|
-
* Holds what a pipeline author decides — which recognizers to run, the
|
|
9688
|
-
*
|
|
9689
|
-
*
|
|
9690
|
-
*
|
|
9691
|
-
*
|
|
10027
|
+
* Holds what a pipeline author decides — which recognizers to run, the default
|
|
10028
|
+
* scope, and the policies to apply. Infrastructure config (enrichment backends,
|
|
10029
|
+
* deduplication calibration) is server-wide and lives in the engine config, not
|
|
10030
|
+
* here. Stored as JSON in the pipeline's `definition` column but validated
|
|
10031
|
+
* against this schema at the API boundary.
|
|
10032
|
+
*
|
|
10033
|
+
* The label catalog is not part of this: the policies own the label vocabulary,
|
|
10034
|
+
* and the engine derives the detection catalog from them at run time.
|
|
9692
10035
|
*
|
|
9693
10036
|
* The split:
|
|
9694
10037
|
*
|
|
9695
|
-
* - `recognizers` / `deduplication`
|
|
9696
|
-
*
|
|
10038
|
+
* - `recognizers` / `deduplication` — the detection intent, merged with the
|
|
10039
|
+
* server-wide engine defaults into an `AnalyzerParams`.
|
|
9697
10040
|
* - `default_scope` — optional pipeline-wide scope a document may override.
|
|
9698
10041
|
* - `policy_slugs` — references to the workspace's policies, resolved at run
|
|
9699
10042
|
* time.
|
|
@@ -9711,14 +10054,6 @@ interface components {
|
|
|
9711
10054
|
* the document must assert its own.
|
|
9712
10055
|
*/
|
|
9713
10056
|
defaultScope?: components["schemas"]["ScopeParams"];
|
|
9714
|
-
/**
|
|
9715
|
-
* @description Entity-label catalog: which entity types the recognizers emit.
|
|
9716
|
-
*
|
|
9717
|
-
* Reusable across the pipeline's documents, so it lives here rather than in
|
|
9718
|
-
* per-document scope.
|
|
9719
|
-
* @default {}
|
|
9720
|
-
*/
|
|
9721
|
-
labelCatalog: components["schemas"]["LabelCatalogParams"];
|
|
9722
10057
|
/**
|
|
9723
10058
|
* @description Slugs of workspace policies applied at redaction.
|
|
9724
10059
|
*
|
|
@@ -9931,27 +10266,40 @@ interface components {
|
|
|
9931
10266
|
* fallback per policy" at the type level.
|
|
9932
10267
|
*/
|
|
9933
10268
|
fallback?: components["schemas"]["ModalityRedactions"];
|
|
10269
|
+
/**
|
|
10270
|
+
* @description Named clusters of [`LabelRef`]s this policy's rules may
|
|
10271
|
+
* reference by name via [`Predicate::LabelInGroup`]. Scoped
|
|
10272
|
+
* to this policy — a rule can only name a group its own
|
|
10273
|
+
* policy declared; unknown references error at request
|
|
10274
|
+
* validation. Two policies that both declare `hipaa_18` with
|
|
10275
|
+
* different labelsets stay independent.
|
|
10276
|
+
*
|
|
10277
|
+
* [`LabelRef`]: elide_core::entity::LabelRef
|
|
10278
|
+
* [`Predicate::LabelInGroup`]: predicate::Predicate::LabelInGroup
|
|
10279
|
+
*/
|
|
10280
|
+
groups?: components["schemas"]["LabelGroup"][];
|
|
9934
10281
|
/**
|
|
9935
10282
|
* Format: uuid
|
|
9936
10283
|
* @description Stable identifier. UUIDv7 recommended (time-ordered);
|
|
9937
10284
|
* customer-supplied so re-submissions carry the same id.
|
|
9938
10285
|
* Engine stamps this into the redaction event's
|
|
9939
|
-
* [`Attribution::
|
|
9940
|
-
*
|
|
10286
|
+
* [`Attribution::name`] so reviewers can find this policy
|
|
10287
|
+
* from any redaction it drove.
|
|
9941
10288
|
*
|
|
9942
|
-
* [`Attribution::
|
|
10289
|
+
* [`Attribution::name`]: elide_core::entity::provenance::Attribution::name
|
|
9943
10290
|
*/
|
|
9944
10291
|
id: string;
|
|
9945
10292
|
/**
|
|
9946
|
-
* @description Vocabulary the policy operates over
|
|
9947
|
-
*
|
|
10293
|
+
* @description Vocabulary the policy operates over: builtins picked by
|
|
10294
|
+
* name plus caller-authored custom label schemas. Engine
|
|
10295
|
+
* unions every submitted policy's `labels` into a per-request
|
|
9948
10296
|
* [`LabelCatalog`] used to drive recognizer dispatch and
|
|
9949
10297
|
* tag-based [`Predicate::TagOneOf`] matching.
|
|
9950
10298
|
*
|
|
9951
10299
|
* [`LabelCatalog`]: elide_core::entity::LabelCatalog
|
|
9952
10300
|
* [`Predicate::TagOneOf`]: predicate::Predicate::TagOneOf
|
|
9953
10301
|
*/
|
|
9954
|
-
labels?: components["schemas"]["
|
|
10302
|
+
labels?: components["schemas"]["Labels"];
|
|
9955
10303
|
/** @description Human-readable name. Display-only. Does not key anything. */
|
|
9956
10304
|
name: string;
|
|
9957
10305
|
/** @description Lifecycle rules for content under this policy. */
|
|
@@ -9978,41 +10326,16 @@ interface components {
|
|
|
9978
10326
|
policySlug: string;
|
|
9979
10327
|
};
|
|
9980
10328
|
/**
|
|
9981
|
-
* @description One rule inside a [`PolicyDefinition`]. Identity is the UUID;
|
|
9982
|
-
* `description` are display-only.
|
|
10329
|
+
* @description One rule inside a [`PolicyDefinition`]. Identity is the UUID;
|
|
10330
|
+
* `name` / `description` are display-only.
|
|
10331
|
+
*
|
|
10332
|
+
* Untagged on the wire: distinguished by the presence of
|
|
10333
|
+
* `predicate` (predicated) vs. `operators` (table). Existing
|
|
10334
|
+
* JSON keeps working.
|
|
9983
10335
|
*
|
|
9984
10336
|
* [`PolicyDefinition`]: super::PolicyDefinition
|
|
9985
10337
|
*/
|
|
9986
|
-
PolicyRule:
|
|
9987
|
-
/**
|
|
9988
|
-
* @description Per-modality redaction operators applied when the
|
|
9989
|
-
* predicate matches. Modalities the rule doesn't cover fall
|
|
9990
|
-
* through to the policy fallback (or the next policy in the
|
|
9991
|
-
* chain).
|
|
9992
|
-
*/
|
|
9993
|
-
action: components["schemas"]["ModalityRedactions"];
|
|
9994
|
-
/** @description Optional description for reviewers. */
|
|
9995
|
-
description?: string;
|
|
9996
|
-
/**
|
|
9997
|
-
* Format: uuid
|
|
9998
|
-
* @description Stable identifier. UUIDv7 recommended (time-ordered);
|
|
9999
|
-
* customer-supplied so re-submissions carry the same id.
|
|
10000
|
-
* Engine stamps this into the redaction event's
|
|
10001
|
-
* [`Attribution::reason`] so reviewers can trace back which
|
|
10002
|
-
* rule fired.
|
|
10003
|
-
*
|
|
10004
|
-
* [`Attribution::reason`]: elide_core::entity::provenance::Attribution::reason
|
|
10005
|
-
*/
|
|
10006
|
-
id: string;
|
|
10007
|
-
/** @description Human-readable name. Display-only. Does not key anything. */
|
|
10008
|
-
name: string;
|
|
10009
|
-
/**
|
|
10010
|
-
* @description Entity-level predicate that decides whether the rule fires
|
|
10011
|
-
* on a given recognised entity. Composable; see
|
|
10012
|
-
* [`Predicate`] for the full grammar.
|
|
10013
|
-
*/
|
|
10014
|
-
predicate: components["schemas"]["Predicate"];
|
|
10015
|
-
};
|
|
10338
|
+
PolicyRule: components["schemas"]["PredicatedRule"] | components["schemas"]["TableRule"];
|
|
10016
10339
|
/**
|
|
10017
10340
|
* @description Lightweight policy view for lists.
|
|
10018
10341
|
*
|
|
@@ -10060,6 +10383,45 @@ interface components {
|
|
|
10060
10383
|
*/
|
|
10061
10384
|
total?: number;
|
|
10062
10385
|
};
|
|
10386
|
+
/**
|
|
10387
|
+
* @description A regulatory posture this crate ships a [`Template`] for.
|
|
10388
|
+
*
|
|
10389
|
+
* Serialises as an internally-tagged object under `kind`,
|
|
10390
|
+
* matching the house pattern for option-bearing enums
|
|
10391
|
+
* (`Predicate`, `TextRedaction`, `AnyRedaction`). A caller
|
|
10392
|
+
* wire-picks a template as
|
|
10393
|
+
* `{"kind": "hipaa_safe_harbor"}` or, for variants with
|
|
10394
|
+
* operator options,
|
|
10395
|
+
* `{"kind": "pci_dss_pan", "render": "hmac_sha256"}`.
|
|
10396
|
+
*/
|
|
10397
|
+
PolicyTemplate: {
|
|
10398
|
+
/** @constant */
|
|
10399
|
+
kind: "hipaa_deidentification";
|
|
10400
|
+
/**
|
|
10401
|
+
* @description Which §164.514 method to apply. See [`HipaaDeidMethod`]
|
|
10402
|
+
* for the tradeoff.
|
|
10403
|
+
*/
|
|
10404
|
+
method: components["schemas"]["HipaaDeidMethod"];
|
|
10405
|
+
} | {
|
|
10406
|
+
/** @constant */
|
|
10407
|
+
kind: "gdpr_article9";
|
|
10408
|
+
/**
|
|
10409
|
+
* @description Which operator to apply to Article 9 matches. See
|
|
10410
|
+
* [`GdprArticle9Treatment`] for the tradeoff.
|
|
10411
|
+
*/
|
|
10412
|
+
treatment: components["schemas"]["GdprArticle9Treatment"];
|
|
10413
|
+
} | {
|
|
10414
|
+
/** @constant */
|
|
10415
|
+
kind: "pci_dss";
|
|
10416
|
+
/**
|
|
10417
|
+
* @description Which DSS subsection this template addresses. See
|
|
10418
|
+
* [`PciDssPart`] for the shipped subsections.
|
|
10419
|
+
*/
|
|
10420
|
+
part: components["schemas"]["PciDssPart"];
|
|
10421
|
+
} | {
|
|
10422
|
+
/** @constant */
|
|
10423
|
+
kind: "ccpa";
|
|
10424
|
+
};
|
|
10063
10425
|
/**
|
|
10064
10426
|
* @description Closed polygon, given by its ordered vertices.
|
|
10065
10427
|
*
|
|
@@ -10085,12 +10447,21 @@ interface components {
|
|
|
10085
10447
|
/** @constant */
|
|
10086
10448
|
kind: "labelOneOf";
|
|
10087
10449
|
/** @description Allowed labels. */
|
|
10088
|
-
labels:
|
|
10450
|
+
labels: components["schemas"]["LabelRef"][];
|
|
10089
10451
|
} | {
|
|
10090
10452
|
/** @constant */
|
|
10091
10453
|
kind: "tagOneOf";
|
|
10092
10454
|
/** @description Allowed tags. */
|
|
10093
10455
|
tags: string[];
|
|
10456
|
+
} | {
|
|
10457
|
+
/**
|
|
10458
|
+
* @description Name of the [`LabelGroup`] to match against.
|
|
10459
|
+
*
|
|
10460
|
+
* [`LabelGroup`]: super::LabelGroup
|
|
10461
|
+
*/
|
|
10462
|
+
group: string;
|
|
10463
|
+
/** @constant */
|
|
10464
|
+
kind: "labelInGroup";
|
|
10094
10465
|
} | {
|
|
10095
10466
|
/** @description Cluster id to match. */
|
|
10096
10467
|
coref: string;
|
|
@@ -10112,6 +10483,31 @@ interface components {
|
|
|
10112
10483
|
/** @description Negated predicate. */
|
|
10113
10484
|
not: components["schemas"]["Predicate"];
|
|
10114
10485
|
};
|
|
10486
|
+
/** @description Predicate-gated rule: one predicate, one action. */
|
|
10487
|
+
PredicatedRule: {
|
|
10488
|
+
/**
|
|
10489
|
+
* @description Per-modality redaction operators applied when the
|
|
10490
|
+
* predicate matches. Modalities the rule doesn't cover fall
|
|
10491
|
+
* through to the policy fallback (or the next policy in the
|
|
10492
|
+
* chain).
|
|
10493
|
+
*/
|
|
10494
|
+
action: components["schemas"]["ModalityRedactions"];
|
|
10495
|
+
/** @description Optional description for reviewers. */
|
|
10496
|
+
description?: string;
|
|
10497
|
+
/**
|
|
10498
|
+
* Format: uuid
|
|
10499
|
+
* @description Stable identifier. UUIDv7 recommended.
|
|
10500
|
+
*/
|
|
10501
|
+
id: string;
|
|
10502
|
+
/** @description Human-readable name. Display-only. */
|
|
10503
|
+
name: string;
|
|
10504
|
+
/**
|
|
10505
|
+
* @description Entity-level predicate that decides whether the rule fires
|
|
10506
|
+
* on a given recognised entity. Composable; see
|
|
10507
|
+
* [`Predicate`] for the full grammar.
|
|
10508
|
+
*/
|
|
10509
|
+
predicate: components["schemas"]["Predicate"];
|
|
10510
|
+
};
|
|
10115
10511
|
/**
|
|
10116
10512
|
* @description How to pick recognizers out of a deployment-configured lineup.
|
|
10117
10513
|
*
|
|
@@ -10150,38 +10546,6 @@ interface components {
|
|
|
10150
10546
|
/** Format: uint */
|
|
10151
10547
|
start: number;
|
|
10152
10548
|
};
|
|
10153
|
-
/**
|
|
10154
|
-
* @description A modality-tagged group of recognized entities.
|
|
10155
|
-
*
|
|
10156
|
-
* The unit [`AnalyzedDocument`] stores in `body` and in every
|
|
10157
|
-
* `parts` entry.
|
|
10158
|
-
*
|
|
10159
|
-
* Tagged by `modality` (snake_case) so deserialization picks the
|
|
10160
|
-
* right variant and the entity vec inside is statically typed
|
|
10161
|
-
* per modality — apply-time we hand each variant back to elide
|
|
10162
|
-
* as a `Vec<Entity<M>>` for the appropriate `M`.
|
|
10163
|
-
*/
|
|
10164
|
-
RecognizedGroup: {
|
|
10165
|
-
/** @description Recognized entities, in source-coordinate order. */
|
|
10166
|
-
entities: components["schemas"]["TextEntityRecord"][];
|
|
10167
|
-
/** @constant */
|
|
10168
|
-
modality: "text";
|
|
10169
|
-
} | {
|
|
10170
|
-
/** @description Recognized entities, in source-coordinate order. */
|
|
10171
|
-
entities: components["schemas"]["TabularEntityRecord"][];
|
|
10172
|
-
/** @constant */
|
|
10173
|
-
modality: "tabular";
|
|
10174
|
-
} | {
|
|
10175
|
-
/** @description Recognized entities, in source-coordinate order. */
|
|
10176
|
-
entities: components["schemas"]["ImageEntityRecord"][];
|
|
10177
|
-
/** @constant */
|
|
10178
|
-
modality: "image";
|
|
10179
|
-
} | {
|
|
10180
|
-
/** @description Recognized entities, in source-coordinate order. */
|
|
10181
|
-
entities: components["schemas"]["AudioEntityRecord"][];
|
|
10182
|
-
/** @constant */
|
|
10183
|
-
modality: "audio";
|
|
10184
|
-
};
|
|
10185
10549
|
/**
|
|
10186
10550
|
* @description Recognizer slots an analyzer can fill.
|
|
10187
10551
|
*
|
|
@@ -10255,6 +10619,38 @@ interface components {
|
|
|
10255
10619
|
};
|
|
10256
10620
|
/** @description What class of data a retention policy applies to. */
|
|
10257
10621
|
RetentionScope: "original_content" | "redacted_output" | "audit_logs";
|
|
10622
|
+
/**
|
|
10623
|
+
* @description A reviewer-supplied redaction override with the policy
|
|
10624
|
+
* authority it draws from.
|
|
10625
|
+
*
|
|
10626
|
+
* The `policy_id` isn't just for audit — it also picks which
|
|
10627
|
+
* per-policy pseudonym vault and per-policy [`KeyProvider`] the
|
|
10628
|
+
* override's operator resolves against, so an override using
|
|
10629
|
+
* [`Pseudonymize`] or [`HmacHash`] stays consistent with the
|
|
10630
|
+
* authoring policy's other rules.
|
|
10631
|
+
*
|
|
10632
|
+
* [`KeyProvider`]: elide::redaction::operators::KeyProvider
|
|
10633
|
+
* [`Pseudonymize`]: elide::redaction::operators::Pseudonymize
|
|
10634
|
+
* [`HmacHash`]: elide::redaction::operators::HmacHash
|
|
10635
|
+
*/
|
|
10636
|
+
Review: {
|
|
10637
|
+
/**
|
|
10638
|
+
* @description The per-modality redaction operators to run for this
|
|
10639
|
+
* entity. Overrides whatever the policy set would have
|
|
10640
|
+
* picked for the same entity.
|
|
10641
|
+
*/
|
|
10642
|
+
action: components["schemas"]["ModalityRedactions"];
|
|
10643
|
+
/**
|
|
10644
|
+
* Format: uuid
|
|
10645
|
+
* @description The policy whose authority the reviewer exercises. Must
|
|
10646
|
+
* match the `id` of a [`PolicyDefinition`] submitted with
|
|
10647
|
+
* the anonymize request. The audit event stamps this UUID
|
|
10648
|
+
* as the attribution `name`.
|
|
10649
|
+
*
|
|
10650
|
+
* [`PolicyDefinition`]: nvisy_schema::policy::PolicyDefinition
|
|
10651
|
+
*/
|
|
10652
|
+
policyId: string;
|
|
10653
|
+
};
|
|
10258
10654
|
/**
|
|
10259
10655
|
* @description A serializable summary of *which selection rule* bound an operator to an
|
|
10260
10656
|
* entity — the automatic "why" behind a redaction.
|
|
@@ -10322,7 +10718,7 @@ interface components {
|
|
|
10322
10718
|
* analyzer, which borrows it into a fresh [`RecognizerContext`] per
|
|
10323
10719
|
* payload. It holds only what the *caller* asserts about the analysis as a
|
|
10324
10720
|
* whole — languages, jurisdictions, document labels, the target catalog, a
|
|
10325
|
-
* correlation id — none of which depends on the medium, so one `Scope`
|
|
10721
|
+
* correlation id — none of which depends on the medium, so one [`Scope`]
|
|
10326
10722
|
* drives a text, image, or audio analysis alike.
|
|
10327
10723
|
*
|
|
10328
10724
|
* Per-medium regions (caller-supplied inclusions and exclusions, which are
|
|
@@ -10332,40 +10728,42 @@ interface components {
|
|
|
10332
10728
|
*
|
|
10333
10729
|
* [`RecognizerContext`]: super::RecognizerContext
|
|
10334
10730
|
* [`Annotations`]: super::annotation::Annotations
|
|
10335
|
-
|
|
10336
|
-
|
|
10337
|
-
|
|
10338
|
-
|
|
10339
|
-
|
|
10340
|
-
|
|
10341
|
-
|
|
10342
|
-
|
|
10343
|
-
|
|
10344
|
-
|
|
10345
|
-
|
|
10346
|
-
|
|
10347
|
-
|
|
10348
|
-
|
|
10349
|
-
|
|
10350
|
-
|
|
10351
|
-
|
|
10352
|
-
|
|
10353
|
-
|
|
10354
|
-
|
|
10355
|
-
|
|
10356
|
-
|
|
10357
|
-
*
|
|
10358
|
-
*
|
|
10359
|
-
*
|
|
10731
|
+
* Free-form, caller-asserted request context: the *document* it is about and
|
|
10732
|
+
* the *request* driving it.
|
|
10733
|
+
*
|
|
10734
|
+
* Three axes of opaque classification strings elide neither ships nor
|
|
10735
|
+
* interprets — a downstream policy layer chooses what `"medical"` or
|
|
10736
|
+
* `"fraud_detection"` or `"auditor"` mean. They are read in two places: a
|
|
10737
|
+
* recognizer may bias its detection on them (the LLM prompt lists them so the
|
|
10738
|
+
* model attends to the right terms), and a scope-aware operator predicate may
|
|
10739
|
+
* branch on them at selection time (redact the same document differently per
|
|
10740
|
+
* [`audience`]).
|
|
10741
|
+
*
|
|
10742
|
+
* - [`tags`] classify the *document* (`"medical"`, `"gdpr-request"`).
|
|
10743
|
+
* - [`purpose`] is why the request exists (`"fraud_detection"`).
|
|
10744
|
+
* - [`audience`] is who the redacted output is for (`"support_agent"`,
|
|
10745
|
+
* `"auditor"`) — the axis PCI-style "same document, two masks" branches on.
|
|
10746
|
+
*
|
|
10747
|
+
* [`tags`]: Self::tags
|
|
10748
|
+
* [`purpose`]: Self::purpose
|
|
10749
|
+
* [`audience`]: Self::audience
|
|
10750
|
+
*/
|
|
10751
|
+
ScopeMetadata: {
|
|
10752
|
+
/**
|
|
10753
|
+
* @description Who the redacted output is for (e.g. `"support_agent"`, `"auditor"`).
|
|
10754
|
+
* The axis a per-audience redaction branches on: one detected document,
|
|
10755
|
+
* selected differently per audience. May hold several.
|
|
10360
10756
|
* @default []
|
|
10361
10757
|
*/
|
|
10362
|
-
|
|
10758
|
+
audience: string[];
|
|
10363
10759
|
/**
|
|
10364
|
-
* @description
|
|
10365
|
-
*
|
|
10366
|
-
*
|
|
10760
|
+
* @description The caller-asserted business purpose driving this request (e.g.
|
|
10761
|
+
* `"fraud_detection"`, `"gdpr_erasure_request"`). A scope-aware operator
|
|
10762
|
+
* predicate may skip or swap a rule based on it; a recognizer may bias
|
|
10763
|
+
* detection on it. `None` when the caller asserts no purpose.
|
|
10764
|
+
* @default null
|
|
10367
10765
|
*/
|
|
10368
|
-
|
|
10766
|
+
purpose: string;
|
|
10369
10767
|
/**
|
|
10370
10768
|
* @description Document-level classification tags (e.g. `"medical"`,
|
|
10371
10769
|
* `"gdpr-request"`). Recognizers may use these to bias their behavior
|
|
@@ -10373,9 +10771,9 @@ interface components {
|
|
|
10373
10771
|
*
|
|
10374
10772
|
* Named `tags`, not `labels`, to keep "label" reserved for the entity
|
|
10375
10773
|
* taxonomy ([`LabelRef`]/[`LabelCatalog`]): these classify the
|
|
10376
|
-
* *document*, whereas
|
|
10774
|
+
* *document*, whereas the scope's catalog names the entity *types* to
|
|
10775
|
+
* emit.
|
|
10377
10776
|
*
|
|
10378
|
-
* [`catalog`]: Self::catalog
|
|
10379
10777
|
* [`LabelRef`]: crate::entity::LabelRef
|
|
10380
10778
|
* [`LabelCatalog`]: crate::entity::LabelCatalog
|
|
10381
10779
|
* @default []
|
|
@@ -10385,10 +10783,12 @@ interface components {
|
|
|
10385
10783
|
/**
|
|
10386
10784
|
* @description Caller-asserted scope for one request.
|
|
10387
10785
|
*
|
|
10388
|
-
*
|
|
10389
|
-
*
|
|
10390
|
-
*
|
|
10391
|
-
*
|
|
10786
|
+
* A narrower wire projection of `elide::recognition::Scope`:
|
|
10787
|
+
* `languages` and `countries` (typed, elide-native), plus
|
|
10788
|
+
* elide's [`ScopeMetadata`] block for free-form classification
|
|
10789
|
+
* strings (`tags`, `purpose`, `audience`). The engine assembles
|
|
10790
|
+
* this plus a server-minted `correlation_id` and a policy-derived
|
|
10791
|
+
* label catalog into the orchestrator's `Scope` at compile time.
|
|
10392
10792
|
*/
|
|
10393
10793
|
ScopeParams: {
|
|
10394
10794
|
/**
|
|
@@ -10401,17 +10801,6 @@ interface components {
|
|
|
10401
10801
|
* jurisdiction don't lose detections.
|
|
10402
10802
|
*/
|
|
10403
10803
|
countries?: components["schemas"]["CountryCode"][];
|
|
10404
|
-
/**
|
|
10405
|
-
* @description Per-request entity-label catalog.
|
|
10406
|
-
*
|
|
10407
|
-
* Builtins selected by name + custom inline schemas. Drives
|
|
10408
|
-
* what recognizers are asked to emit and tag-based selector
|
|
10409
|
-
* matching in the anonymizer. Engine resolves this into the
|
|
10410
|
-
* assembled `elide::recognition::Scope`'s `catalog` field at
|
|
10411
|
-
* compile time.
|
|
10412
|
-
* @default {}
|
|
10413
|
-
*/
|
|
10414
|
-
labelCatalog: components["schemas"]["LabelCatalogParams"];
|
|
10415
10804
|
/**
|
|
10416
10805
|
* @description Caller-asserted languages for the analysis.
|
|
10417
10806
|
*
|
|
@@ -10421,20 +10810,22 @@ interface components {
|
|
|
10421
10810
|
*/
|
|
10422
10811
|
languages: components["schemas"]["Languages"];
|
|
10423
10812
|
/**
|
|
10424
|
-
* @description
|
|
10425
|
-
*
|
|
10426
|
-
* E.g. `"medical"`, `"gdpr-request"`. Recognizers may use
|
|
10427
|
-
* these to bias their behaviour for domain-specific terms;
|
|
10428
|
-
* those that don't ignore the field.
|
|
10429
|
-
*
|
|
10430
|
-
* Distinct from [`label_catalog`]: tags classify the
|
|
10431
|
-
* *document*, whereas the catalog names the entity *types*
|
|
10432
|
-
* to emit.
|
|
10433
|
-
*
|
|
10434
|
-
* [`label_catalog`]: ScopeParams::label_catalog
|
|
10813
|
+
* @description Free-form request context: document tags, request purpose,
|
|
10814
|
+
* output audience. See elide's [`ScopeMetadata`].
|
|
10435
10815
|
*/
|
|
10436
|
-
|
|
10816
|
+
metadata?: components["schemas"]["ScopeMetadata"];
|
|
10437
10817
|
};
|
|
10818
|
+
/**
|
|
10819
|
+
* @description Which SHA-2 variant a hashing operator uses.
|
|
10820
|
+
*
|
|
10821
|
+
* Shared by [`Sha2Hash`] (unkeyed digest) and [`HmacHash`] (keyed HMAC):
|
|
10822
|
+
* both pick the same underlying width, so the choice lives in one enum
|
|
10823
|
+
* rather than one per operator.
|
|
10824
|
+
*
|
|
10825
|
+
* [`Sha2Hash`]: super::Sha2Hash
|
|
10826
|
+
* [`HmacHash`]: super::HmacHash
|
|
10827
|
+
*/
|
|
10828
|
+
Sha2Algorithm: "sha256" | "sha512";
|
|
10438
10829
|
/** @description Request payload for signup. */
|
|
10439
10830
|
Signup: {
|
|
10440
10831
|
/** @description Optional display name of the account. */
|
|
@@ -10464,6 +10855,40 @@ interface components {
|
|
|
10464
10855
|
};
|
|
10465
10856
|
/** @description Sort order direction. */
|
|
10466
10857
|
SortOrder: "asc" | "desc";
|
|
10858
|
+
/**
|
|
10859
|
+
* @description A fully-typed object-store connection configuration.
|
|
10860
|
+
*
|
|
10861
|
+
* The `provider` tag selects the variant and thereby the credential shape, so
|
|
10862
|
+
* an S3 connection cannot carry Azure credentials. Each variant carries a
|
|
10863
|
+
* shared optional `root_path` and a nested `credentials` object, giving a wire
|
|
10864
|
+
* shape like
|
|
10865
|
+
* `{ "provider": "s3", "rootPath": "in/", "credentials": { "bucket": "b", "accessKeyId": "..." } }`.
|
|
10866
|
+
*
|
|
10867
|
+
* Secrets are masked in [`Debug`]; serialization exists only to persist the
|
|
10868
|
+
* config encrypted at rest, never to return it in API responses.
|
|
10869
|
+
*/
|
|
10870
|
+
StorageConfig: {
|
|
10871
|
+
/** @description S3 credentials. */
|
|
10872
|
+
credentials: components["schemas"]["S3Credentials"];
|
|
10873
|
+
/** @constant */
|
|
10874
|
+
provider: "s3";
|
|
10875
|
+
/** @description Optional root prefix within the bucket; keys resolve relative to it. */
|
|
10876
|
+
rootPath?: string;
|
|
10877
|
+
} | {
|
|
10878
|
+
/** @description Azure credentials. */
|
|
10879
|
+
credentials: components["schemas"]["AzureCredentials"];
|
|
10880
|
+
/** @constant */
|
|
10881
|
+
provider: "azure";
|
|
10882
|
+
/** @description Optional root prefix within the container; keys resolve relative to it. */
|
|
10883
|
+
rootPath?: string;
|
|
10884
|
+
} | {
|
|
10885
|
+
/** @description GCS credentials. */
|
|
10886
|
+
credentials: components["schemas"]["GcsCredentials"];
|
|
10887
|
+
/** @constant */
|
|
10888
|
+
provider: "gcs";
|
|
10889
|
+
/** @description Optional root prefix within the bucket; keys resolve relative to it. */
|
|
10890
|
+
rootPath?: string;
|
|
10891
|
+
};
|
|
10467
10892
|
/**
|
|
10468
10893
|
* @description Request payload to trigger a connection sync.
|
|
10469
10894
|
*
|
|
@@ -10497,6 +10922,40 @@ interface components {
|
|
|
10497
10922
|
* the connection into the workspace; `Export` pushes workspace files out.
|
|
10498
10923
|
*/
|
|
10499
10924
|
SyncMode: "import" | "export";
|
|
10925
|
+
/** @description A connection's sync configuration, present only for sync-capable connections. */
|
|
10926
|
+
SyncSchedule: {
|
|
10927
|
+
/** @description How an import reconciles files whose source object was deleted. */
|
|
10928
|
+
deletionPolicy: components["schemas"]["SyncDeletionPolicy"];
|
|
10929
|
+
/**
|
|
10930
|
+
* Format: date-time
|
|
10931
|
+
* @description When the connection last synced successfully, if ever.
|
|
10932
|
+
*/
|
|
10933
|
+
lastSynced?: string;
|
|
10934
|
+
/** @description Cron expression for scheduled imports, if configured. */
|
|
10935
|
+
scheduleCron?: string;
|
|
10936
|
+
/** @description Whether the connection imports data in or exports data out. */
|
|
10937
|
+
syncMode: components["schemas"]["SyncMode"];
|
|
10938
|
+
};
|
|
10939
|
+
/**
|
|
10940
|
+
* @description Sync configuration for a sync-capable connection (object stores).
|
|
10941
|
+
*
|
|
10942
|
+
* Only meaningful for connections whose provider supports syncing; omitted for
|
|
10943
|
+
* connections that do not (e.g. LLM inference).
|
|
10944
|
+
*/
|
|
10945
|
+
SyncScheduleInput: {
|
|
10946
|
+
/**
|
|
10947
|
+
* @description How an import reconciles files whose source object was deleted.
|
|
10948
|
+
* @default ignore
|
|
10949
|
+
*/
|
|
10950
|
+
deletionPolicy: components["schemas"]["SyncDeletionPolicy"];
|
|
10951
|
+
/** @description Cron expression for scheduled imports; omit for manual-only. */
|
|
10952
|
+
scheduleCron?: string;
|
|
10953
|
+
/**
|
|
10954
|
+
* @description Whether the connection imports data in or exports data out.
|
|
10955
|
+
* @default import
|
|
10956
|
+
*/
|
|
10957
|
+
syncMode: components["schemas"]["SyncMode"];
|
|
10958
|
+
};
|
|
10500
10959
|
/**
|
|
10501
10960
|
* @description Defines the execution status of a connection sync run.
|
|
10502
10961
|
*
|
|
@@ -10511,6 +10970,42 @@ interface components {
|
|
|
10511
10970
|
* to track whether a run was manually triggered, scheduled, or triggered by a webhook.
|
|
10512
10971
|
*/
|
|
10513
10972
|
SyncTriggerType: "manual" | "scheduled" | "webhook";
|
|
10973
|
+
/**
|
|
10974
|
+
* @description Per-label table rule: N labels, N actions, one shared identity.
|
|
10975
|
+
*
|
|
10976
|
+
* Each entry compiles to an elide `Rule::label` attachment under
|
|
10977
|
+
* this rule's shared UUID / name / description — so the audit
|
|
10978
|
+
* trail records "rule X fired" without exposing the fan-out to
|
|
10979
|
+
* the reviewer. Meant for templates where a single policy intent
|
|
10980
|
+
* (e.g. "HIPAA Safe Harbor identifiers") routes different labels
|
|
10981
|
+
* to different operators.
|
|
10982
|
+
*/
|
|
10983
|
+
TableRule: {
|
|
10984
|
+
/** @description Optional description for reviewers. */
|
|
10985
|
+
description?: string;
|
|
10986
|
+
/**
|
|
10987
|
+
* Format: uuid
|
|
10988
|
+
* @description Stable identifier — shared by every entry the table
|
|
10989
|
+
* expands into. UUIDv7 recommended.
|
|
10990
|
+
*/
|
|
10991
|
+
id: string;
|
|
10992
|
+
/** @description Human-readable name. Display-only. */
|
|
10993
|
+
name: string;
|
|
10994
|
+
/**
|
|
10995
|
+
* @description Per-label operator dispatch. Every entity whose label
|
|
10996
|
+
* matches a listed [`LabelRef`] attaches the paired
|
|
10997
|
+
* [`ModalityRedactions`]. Labels absent from the list are not
|
|
10998
|
+
* affected by this rule and fall through to the next rule or
|
|
10999
|
+
* the policy fallback.
|
|
11000
|
+
*
|
|
11001
|
+
* A [`Vec`] rather than a map keeps the author-supplied
|
|
11002
|
+
* order — elide's anonymizer is first-match-wins, so wire
|
|
11003
|
+
* order determines which entry fires when two match the
|
|
11004
|
+
* same entity. Duplicate labels are the caller's bug; the
|
|
11005
|
+
* engine attaches every entry, and the first one wins.
|
|
11006
|
+
*/
|
|
11007
|
+
operators: components["schemas"]["LabelEntry"][];
|
|
11008
|
+
};
|
|
10514
11009
|
/**
|
|
10515
11010
|
* @description Detected piece of sensitive information within some medium.
|
|
10516
11011
|
*
|
|
@@ -10596,12 +11091,17 @@ interface components {
|
|
|
10596
11091
|
/** @description The elide entity, as recognition produced it. */
|
|
10597
11092
|
entity: components["schemas"]["TabularEntity"];
|
|
10598
11093
|
/**
|
|
10599
|
-
* @description Reviewer-supplied override.
|
|
11094
|
+
* @description Reviewer-supplied redaction override.
|
|
10600
11095
|
*
|
|
10601
|
-
* `None` means "use the policy's decision";
|
|
10602
|
-
* overrides
|
|
11096
|
+
* `None` means "use the matching policy rule's decision";
|
|
11097
|
+
* `Some(...)` overrides that rule for this specific entity
|
|
11098
|
+
* at apply time. Reviewer overrides take precedence over
|
|
11099
|
+
* every policy rule and inherit the authority of the
|
|
11100
|
+
* [`Review::policy_id`] they name — the audit event's
|
|
11101
|
+
* attribution stamps that policy so the trail names the
|
|
11102
|
+
* authority under which the override fired.
|
|
10603
11103
|
*/
|
|
10604
|
-
|
|
11104
|
+
review?: components["schemas"]["Review"];
|
|
10605
11105
|
};
|
|
10606
11106
|
/**
|
|
10607
11107
|
* @description One thing that happened to an entity, with its effect on confidence.
|
|
@@ -10853,6 +11353,57 @@ interface components {
|
|
|
10853
11353
|
/** @constant */
|
|
10854
11354
|
kind: "drop_column";
|
|
10855
11355
|
};
|
|
11356
|
+
/**
|
|
11357
|
+
* @description Fallback operator that runs when a declinable primary
|
|
11358
|
+
* ([`TextRedaction::Clamp`], [`TextRedaction::GeneralizeDate`])
|
|
11359
|
+
* doesn't apply to the entity value.
|
|
11360
|
+
*
|
|
11361
|
+
* The four operators that always apply and produce a deterministic
|
|
11362
|
+
* output without needing engine-side infrastructure (no key
|
|
11363
|
+
* provider, no vault). Enough to satisfy every regulatory
|
|
11364
|
+
* pattern I know: `Clamp/GeneralizeDate → Erase` (the safe
|
|
11365
|
+
* default), `→ Replace { template }` (an explicit placeholder),
|
|
11366
|
+
* or `→ Mask` / `→ Keep` on the rare occasion those fit.
|
|
11367
|
+
*
|
|
11368
|
+
* Absent from the primary's spec, elide's baked-in default is
|
|
11369
|
+
* [`Erase`] — a bare [`TextRedaction::Clamp`] without a `fallback`
|
|
11370
|
+
* erases values that aren't numeric.
|
|
11371
|
+
*
|
|
11372
|
+
* [`Erase`]: TerminalFallback::Erase
|
|
11373
|
+
*/
|
|
11374
|
+
TerminalFallback: {
|
|
11375
|
+
/** @constant */
|
|
11376
|
+
kind: "erase";
|
|
11377
|
+
} | {
|
|
11378
|
+
/** @constant */
|
|
11379
|
+
kind: "keep";
|
|
11380
|
+
} | {
|
|
11381
|
+
/** @constant */
|
|
11382
|
+
kind: "replace";
|
|
11383
|
+
/**
|
|
11384
|
+
* @description Template string. Default `[{label}]`.
|
|
11385
|
+
* @default [{label}]
|
|
11386
|
+
*/
|
|
11387
|
+
template: string;
|
|
11388
|
+
} | {
|
|
11389
|
+
/**
|
|
11390
|
+
* Format: uint
|
|
11391
|
+
* @description Characters to leave unmasked at the start of the value.
|
|
11392
|
+
*/
|
|
11393
|
+
keep_prefix?: number;
|
|
11394
|
+
/**
|
|
11395
|
+
* Format: uint
|
|
11396
|
+
* @description Characters to leave unmasked at the end of the value.
|
|
11397
|
+
*/
|
|
11398
|
+
keep_suffix?: number;
|
|
11399
|
+
/** @constant */
|
|
11400
|
+
kind: "mask";
|
|
11401
|
+
/**
|
|
11402
|
+
* @description The character that replaces masked positions.
|
|
11403
|
+
* @default *
|
|
11404
|
+
*/
|
|
11405
|
+
mask_char: string;
|
|
11406
|
+
};
|
|
10856
11407
|
/** @description Request payload for testing a webhook. */
|
|
10857
11408
|
TestWebhook: {
|
|
10858
11409
|
/**
|
|
@@ -10957,12 +11508,17 @@ interface components {
|
|
|
10957
11508
|
/** @description The elide entity, as recognition produced it. */
|
|
10958
11509
|
entity: components["schemas"]["TextEntity"];
|
|
10959
11510
|
/**
|
|
10960
|
-
* @description Reviewer-supplied override.
|
|
11511
|
+
* @description Reviewer-supplied redaction override.
|
|
10961
11512
|
*
|
|
10962
|
-
* `None` means "use the policy's decision";
|
|
10963
|
-
* overrides
|
|
11513
|
+
* `None` means "use the matching policy rule's decision";
|
|
11514
|
+
* `Some(...)` overrides that rule for this specific entity
|
|
11515
|
+
* at apply time. Reviewer overrides take precedence over
|
|
11516
|
+
* every policy rule and inherit the authority of the
|
|
11517
|
+
* [`Review::policy_id`] they name — the audit event's
|
|
11518
|
+
* attribution stamps that policy so the trail names the
|
|
11519
|
+
* authority under which the override fired.
|
|
10964
11520
|
*/
|
|
10965
|
-
|
|
11521
|
+
review?: components["schemas"]["Review"];
|
|
10966
11522
|
};
|
|
10967
11523
|
/**
|
|
10968
11524
|
* @description One thing that happened to an entity, with its effect on confidence.
|
|
@@ -11214,7 +11770,7 @@ interface components {
|
|
|
11214
11770
|
* @description SHA-256 (default) or SHA-512.
|
|
11215
11771
|
* @default sha256
|
|
11216
11772
|
*/
|
|
11217
|
-
algorithm: components["schemas"]["
|
|
11773
|
+
algorithm: components["schemas"]["Sha2Algorithm"];
|
|
11218
11774
|
/** @constant */
|
|
11219
11775
|
kind: "hash";
|
|
11220
11776
|
/** @description Salt prepended to the value before hashing. */
|
|
@@ -11250,6 +11806,75 @@ interface components {
|
|
|
11250
11806
|
} | {
|
|
11251
11807
|
/** @constant */
|
|
11252
11808
|
kind: "encrypt";
|
|
11809
|
+
} | {
|
|
11810
|
+
/**
|
|
11811
|
+
* @description HMAC-SHA-256 (default) or HMAC-SHA-512.
|
|
11812
|
+
* @default sha256
|
|
11813
|
+
*/
|
|
11814
|
+
algorithm: components["schemas"]["Sha2Algorithm"];
|
|
11815
|
+
/** @constant */
|
|
11816
|
+
kind: "hmac_hash";
|
|
11817
|
+
} | {
|
|
11818
|
+
/**
|
|
11819
|
+
* Format: uint
|
|
11820
|
+
* @description Characters to keep at the start of the value.
|
|
11821
|
+
*/
|
|
11822
|
+
keep_prefix?: number;
|
|
11823
|
+
/**
|
|
11824
|
+
* Format: uint
|
|
11825
|
+
* @description Characters to keep at the end of the value.
|
|
11826
|
+
*/
|
|
11827
|
+
keep_suffix?: number;
|
|
11828
|
+
/** @constant */
|
|
11829
|
+
kind: "truncate";
|
|
11830
|
+
} | {
|
|
11831
|
+
/**
|
|
11832
|
+
* Format: double
|
|
11833
|
+
* @description Threshold at or above which values collapse to
|
|
11834
|
+
* `ceiling_bucket`. `None` disables the ceiling.
|
|
11835
|
+
*/
|
|
11836
|
+
ceiling?: number;
|
|
11837
|
+
/**
|
|
11838
|
+
* @description Bucket label for values at or above `ceiling`. Required
|
|
11839
|
+
* when `ceiling` is set; ignored otherwise.
|
|
11840
|
+
*/
|
|
11841
|
+
ceiling_bucket?: components["schemas"]["ClampBucket"];
|
|
11842
|
+
/**
|
|
11843
|
+
* @description Operator that runs when the entity value isn't a
|
|
11844
|
+
* finite number. `None` erases (elide's default).
|
|
11845
|
+
*/
|
|
11846
|
+
fallback?: components["schemas"]["TerminalFallback"];
|
|
11847
|
+
/**
|
|
11848
|
+
* Format: double
|
|
11849
|
+
* @description Threshold at or below which values collapse to
|
|
11850
|
+
* `floor_bucket`. `None` disables the floor.
|
|
11851
|
+
*/
|
|
11852
|
+
floor?: number;
|
|
11853
|
+
/**
|
|
11854
|
+
* @description Bucket label for values at or below `floor`. Required
|
|
11855
|
+
* when `floor` is set; ignored otherwise.
|
|
11856
|
+
*/
|
|
11857
|
+
floor_bucket?: components["schemas"]["ClampBucket"];
|
|
11858
|
+
/** @constant */
|
|
11859
|
+
kind: "clamp";
|
|
11860
|
+
} | {
|
|
11861
|
+
/**
|
|
11862
|
+
* @description Operator that runs when the entity value isn't a
|
|
11863
|
+
* parseable date. `None` erases (elide's default).
|
|
11864
|
+
*/
|
|
11865
|
+
fallback?: components["schemas"]["TerminalFallback"];
|
|
11866
|
+
/**
|
|
11867
|
+
* @description Coarseness of the output. Default `Year`.
|
|
11868
|
+
* @default year
|
|
11869
|
+
*/
|
|
11870
|
+
granularity: components["schemas"]["DateGranularity"];
|
|
11871
|
+
/** @constant */
|
|
11872
|
+
kind: "generalize_date";
|
|
11873
|
+
/**
|
|
11874
|
+
* @description Which input convention to accept. Default `Iso`.
|
|
11875
|
+
* @default iso
|
|
11876
|
+
*/
|
|
11877
|
+
style: components["schemas"]["DateStyle"];
|
|
11253
11878
|
};
|
|
11254
11879
|
/**
|
|
11255
11880
|
* @description How the structural reconciler picks a winner across labels.
|
|
@@ -11339,23 +11964,18 @@ interface components {
|
|
|
11339
11964
|
* config (and, with it, the provider). Omit to leave it unchanged.
|
|
11340
11965
|
*/
|
|
11341
11966
|
config?: components["schemas"]["ConnectionConfig"];
|
|
11342
|
-
/** @description How an import reconciles files whose source object was deleted. */
|
|
11343
|
-
deletionPolicy?: components["schemas"]["SyncDeletionPolicy"];
|
|
11344
11967
|
/** @description Human-readable connection display name. */
|
|
11345
11968
|
displayName?: string;
|
|
11346
11969
|
/**
|
|
11347
|
-
* @description Whether the connection is enabled
|
|
11348
|
-
*
|
|
11349
|
-
* unchanged.
|
|
11970
|
+
* @description Whether the connection is enabled. `false` disables it (pausing scheduled
|
|
11971
|
+
* syncs and rejecting manual ones); omit to leave unchanged.
|
|
11350
11972
|
*/
|
|
11351
11973
|
isActive?: boolean;
|
|
11352
11974
|
/**
|
|
11353
|
-
* @description
|
|
11354
|
-
*
|
|
11975
|
+
* @description Sync configuration. Applies only to sync-capable providers. Omit to leave
|
|
11976
|
+
* unchanged.
|
|
11355
11977
|
*/
|
|
11356
|
-
|
|
11357
|
-
/** @description Whether the connection imports data in or exports data out. */
|
|
11358
|
-
syncMode?: components["schemas"]["SyncMode"];
|
|
11978
|
+
sync?: components["schemas"]["SyncScheduleInput"];
|
|
11359
11979
|
};
|
|
11360
11980
|
/** @description Request to update file metadata. */
|
|
11361
11981
|
UpdateFile: {
|
|
@@ -11578,7 +12198,7 @@ interface components {
|
|
|
11578
12198
|
* This enumeration corresponds to the `WEBHOOK_EVENT` PostgreSQL enum and is used
|
|
11579
12199
|
* to configure which events a webhook should receive notifications for.
|
|
11580
12200
|
*/
|
|
11581
|
-
WebhookEvent: "file:created" | "file:updated" | "file:deleted" | "member:added" | "member:deleted" | "member:updated" | "connection:created" | "connection:updated" | "connection:deleted" | "connection:
|
|
12201
|
+
WebhookEvent: "file:created" | "file:updated" | "file:deleted" | "member:added" | "member:deleted" | "member:updated" | "connection:created" | "connection:updated" | "connection:deleted" | "connection:sync.started" | "connection:sync.completed" | "connection:sync.failed" | "pipeline:created" | "pipeline:updated" | "pipeline:deleted" | "pipeline:run.started" | "pipeline:run.completed" | "pipeline:run.failed" | "policy:created" | "policy:updated" | "policy:deleted";
|
|
11582
12202
|
/** @description Opaque whk identifier (whk_<uuid>). */
|
|
11583
12203
|
WebhookId: string;
|
|
11584
12204
|
/**
|
|
@@ -11712,133 +12332,193 @@ interface components {
|
|
|
11712
12332
|
}
|
|
11713
12333
|
//#endregion
|
|
11714
12334
|
//#region src/datatypes/account.d.ts
|
|
11715
|
-
type Schemas$
|
|
11716
|
-
type Account = Schemas$
|
|
11717
|
-
type PublicAccount = Schemas$
|
|
11718
|
-
type UpdateAccount = Schemas$
|
|
11719
|
-
type AccountRef = Schemas$
|
|
12335
|
+
type Schemas$17 = components["schemas"];
|
|
12336
|
+
type Account = Schemas$17["Account"];
|
|
12337
|
+
type PublicAccount = Schemas$17["PublicAccount"];
|
|
12338
|
+
type UpdateAccount = Schemas$17["UpdateAccount"];
|
|
12339
|
+
type AccountRef = Schemas$17["AccountRef"];
|
|
11720
12340
|
//#endregion
|
|
11721
12341
|
//#region src/datatypes/activity.d.ts
|
|
11722
|
-
type Schemas$
|
|
11723
|
-
type Activity = Schemas$
|
|
11724
|
-
type ActivityType = Schemas$
|
|
11725
|
-
type ActivityPage = Schemas$
|
|
12342
|
+
type Schemas$16 = components["schemas"];
|
|
12343
|
+
type Activity = Schemas$16["Activity"];
|
|
12344
|
+
type ActivityType = Schemas$16["ActivityType"];
|
|
12345
|
+
type ActivityPage = Schemas$16["ActivityPage"];
|
|
11726
12346
|
//#endregion
|
|
11727
12347
|
//#region src/datatypes/api-token.d.ts
|
|
11728
|
-
type Schemas$
|
|
11729
|
-
type ApiToken = Schemas$
|
|
11730
|
-
type ApiTokenWithJWT = Schemas$
|
|
11731
|
-
type ApiTokenType = Schemas$
|
|
11732
|
-
type CreateApiToken = Schemas$
|
|
11733
|
-
type UpdateApiToken = Schemas$
|
|
11734
|
-
type TokenExpiration = Schemas$
|
|
11735
|
-
type ApiTokenPage = Schemas$
|
|
12348
|
+
type Schemas$15 = components["schemas"];
|
|
12349
|
+
type ApiToken = Schemas$15["ApiToken"];
|
|
12350
|
+
type ApiTokenWithJWT = Schemas$15["ApiTokenWithJWT"];
|
|
12351
|
+
type ApiTokenType = Schemas$15["ApiTokenType"];
|
|
12352
|
+
type CreateApiToken = Schemas$15["CreateApiToken"];
|
|
12353
|
+
type UpdateApiToken = Schemas$15["UpdateApiToken"];
|
|
12354
|
+
type TokenExpiration = Schemas$15["TokenExpiration"];
|
|
12355
|
+
type ApiTokenPage = Schemas$15["ApiTokenPage"];
|
|
11736
12356
|
//#endregion
|
|
11737
12357
|
//#region src/datatypes/auth.d.ts
|
|
11738
|
-
type Schemas$
|
|
11739
|
-
type Login = Schemas$
|
|
11740
|
-
type Signup = Schemas$
|
|
11741
|
-
type AuthToken = Schemas$
|
|
12358
|
+
type Schemas$14 = components["schemas"];
|
|
12359
|
+
type Login = Schemas$14["Login"];
|
|
12360
|
+
type Signup = Schemas$14["Signup"];
|
|
12361
|
+
type AuthToken = Schemas$14["AuthToken"];
|
|
11742
12362
|
//#endregion
|
|
11743
12363
|
//#region src/datatypes/connection.d.ts
|
|
11744
|
-
type Schemas$
|
|
11745
|
-
type Connection = Schemas$
|
|
11746
|
-
type CreateConnection = Schemas$
|
|
11747
|
-
type UpdateConnection = Schemas$
|
|
11748
|
-
type ConnectionsQuery = Schemas$
|
|
11749
|
-
type ConnectionPage = Schemas$
|
|
11750
|
-
type SyncConnection = Schemas$
|
|
11751
|
-
type ConnectionSync = Schemas$
|
|
11752
|
-
type ConnectionSyncPage = Schemas$
|
|
11753
|
-
type ConnectionVerification = Schemas$
|
|
11754
|
-
type SyncMode = Schemas$
|
|
11755
|
-
type SyncStatus = Schemas$
|
|
11756
|
-
type SyncTriggerType = Schemas$
|
|
11757
|
-
type SyncDeletionPolicy = Schemas$
|
|
11758
|
-
type ConnectionConfig = Schemas$
|
|
11759
|
-
type
|
|
11760
|
-
type
|
|
11761
|
-
type
|
|
12364
|
+
type Schemas$13 = components["schemas"];
|
|
12365
|
+
type Connection = Schemas$13["Connection"];
|
|
12366
|
+
type CreateConnection = Schemas$13["CreateConnection"];
|
|
12367
|
+
type UpdateConnection = Schemas$13["UpdateConnection"];
|
|
12368
|
+
type ConnectionsQuery = Schemas$13["ConnectionsQuery"];
|
|
12369
|
+
type ConnectionPage = Schemas$13["ConnectionPage"];
|
|
12370
|
+
type SyncConnection = Schemas$13["SyncConnection"];
|
|
12371
|
+
type ConnectionSync = Schemas$13["ConnectionSync"];
|
|
12372
|
+
type ConnectionSyncPage = Schemas$13["ConnectionSyncPage"];
|
|
12373
|
+
type ConnectionVerification = Schemas$13["ConnectionVerification"];
|
|
12374
|
+
type SyncMode = Schemas$13["SyncMode"];
|
|
12375
|
+
type SyncStatus = Schemas$13["SyncStatus"];
|
|
12376
|
+
type SyncTriggerType = Schemas$13["SyncTriggerType"];
|
|
12377
|
+
type SyncDeletionPolicy = Schemas$13["SyncDeletionPolicy"];
|
|
12378
|
+
type ConnectionConfig = Schemas$13["ConnectionConfig"];
|
|
12379
|
+
type StorageConfig = Schemas$13["StorageConfig"];
|
|
12380
|
+
type S3Credentials = Schemas$13["S3Credentials"];
|
|
12381
|
+
type AzureCredentials = Schemas$13["AzureCredentials"];
|
|
12382
|
+
type GcsCredentials = Schemas$13["GcsCredentials"];
|
|
12383
|
+
type LlmConfig = Schemas$13["LlmConfig"];
|
|
12384
|
+
type AnthropicCredentials = Schemas$13["AnthropicCredentials"];
|
|
12385
|
+
type OpenAiCredentials = Schemas$13["OpenAiCredentials"];
|
|
12386
|
+
type SyncSchedule = Schemas$13["SyncSchedule"];
|
|
12387
|
+
type SyncScheduleInput = Schemas$13["SyncScheduleInput"];
|
|
11762
12388
|
//#endregion
|
|
11763
12389
|
//#region src/datatypes/error.d.ts
|
|
11764
|
-
type Schemas$
|
|
11765
|
-
type ErrorResponse = Schemas$
|
|
11766
|
-
type ValidationErrorDetail = Schemas$
|
|
12390
|
+
type Schemas$12 = components["schemas"];
|
|
12391
|
+
type ErrorResponse = Schemas$12["ErrorResponse"];
|
|
12392
|
+
type ValidationErrorDetail = Schemas$12["ValidationErrorDetail"];
|
|
11767
12393
|
//#endregion
|
|
11768
12394
|
//#region src/datatypes/file.d.ts
|
|
11769
|
-
type Schemas$
|
|
11770
|
-
type File = Schemas$
|
|
11771
|
-
type UpdateFile = Schemas$
|
|
11772
|
-
type FileSource = Schemas$
|
|
11773
|
-
type FormatToken = Schemas$
|
|
11774
|
-
type ModalityToken = Schemas$
|
|
11775
|
-
type ListFiles = Schemas$
|
|
11776
|
-
type FilePage = Schemas$
|
|
12395
|
+
type Schemas$11 = components["schemas"];
|
|
12396
|
+
type File = Schemas$11["File"];
|
|
12397
|
+
type UpdateFile = Schemas$11["UpdateFile"];
|
|
12398
|
+
type FileSource = Schemas$11["FileSource"];
|
|
12399
|
+
type FormatToken = Schemas$11["FormatToken"];
|
|
12400
|
+
type ModalityToken = Schemas$11["ModalityToken"];
|
|
12401
|
+
type ListFiles = Schemas$11["ListFiles"];
|
|
12402
|
+
type FilePage = Schemas$11["FilePage"];
|
|
11777
12403
|
//#endregion
|
|
11778
12404
|
//#region src/datatypes/health.d.ts
|
|
11779
|
-
type Schemas$
|
|
11780
|
-
type Health = Schemas$
|
|
11781
|
-
type HealthStatus = Schemas$
|
|
11782
|
-
type ComponentHealth = Schemas$
|
|
12405
|
+
type Schemas$10 = components["schemas"];
|
|
12406
|
+
type Health = Schemas$10["Health"];
|
|
12407
|
+
type HealthStatus = Schemas$10["HealthStatus"];
|
|
12408
|
+
type ComponentHealth = Schemas$10["ComponentHealth"];
|
|
11783
12409
|
//#endregion
|
|
11784
12410
|
//#region src/datatypes/invite.d.ts
|
|
11785
|
-
type Schemas$
|
|
11786
|
-
type Invite = Schemas$
|
|
11787
|
-
type InviteSent = Schemas$
|
|
11788
|
-
type CreateInvite = Schemas$
|
|
11789
|
-
type ReplyInvite = Schemas$
|
|
11790
|
-
type GenerateInviteCode = Schemas$
|
|
11791
|
-
type InviteCode = Schemas$
|
|
11792
|
-
type InviteStatus = Schemas$
|
|
11793
|
-
type InviteExpiration = Schemas$
|
|
11794
|
-
type ListInvites = Schemas$
|
|
11795
|
-
type InviteSortField = Schemas$
|
|
11796
|
-
type SortOrder = Schemas$
|
|
11797
|
-
type InvitePreview = Schemas$
|
|
11798
|
-
type InvitePage = Schemas$
|
|
12411
|
+
type Schemas$9 = components["schemas"];
|
|
12412
|
+
type Invite = Schemas$9["Invite"];
|
|
12413
|
+
type InviteSent = Schemas$9["InviteSent"];
|
|
12414
|
+
type CreateInvite = Schemas$9["CreateInvite"];
|
|
12415
|
+
type ReplyInvite = Schemas$9["ReplyInvite"];
|
|
12416
|
+
type GenerateInviteCode = Schemas$9["GenerateInviteCode"];
|
|
12417
|
+
type InviteCode = Schemas$9["InviteCode"];
|
|
12418
|
+
type InviteStatus = Schemas$9["InviteStatus"];
|
|
12419
|
+
type InviteExpiration = Schemas$9["InviteExpiration"];
|
|
12420
|
+
type ListInvites = Schemas$9["ListInvites"];
|
|
12421
|
+
type InviteSortField = Schemas$9["InviteSortField"];
|
|
12422
|
+
type SortOrder = Schemas$9["SortOrder"];
|
|
12423
|
+
type InvitePreview = Schemas$9["InvitePreview"];
|
|
12424
|
+
type InvitePage = Schemas$9["InvitePage"];
|
|
11799
12425
|
//#endregion
|
|
11800
12426
|
//#region src/datatypes/member.d.ts
|
|
11801
|
-
type Schemas$
|
|
11802
|
-
type Member = Schemas$
|
|
11803
|
-
type UpdateMember = Schemas$
|
|
11804
|
-
type ListMembers = Schemas$
|
|
11805
|
-
type MemberSortField = Schemas$
|
|
11806
|
-
type MemberPage = Schemas$
|
|
12427
|
+
type Schemas$8 = components["schemas"];
|
|
12428
|
+
type Member = Schemas$8["Member"];
|
|
12429
|
+
type UpdateMember = Schemas$8["UpdateMember"];
|
|
12430
|
+
type ListMembers = Schemas$8["ListMembers"];
|
|
12431
|
+
type MemberSortField = Schemas$8["MemberSortField"];
|
|
12432
|
+
type MemberPage = Schemas$8["MemberPage"];
|
|
11807
12433
|
//#endregion
|
|
11808
12434
|
//#region src/datatypes/notification.d.ts
|
|
11809
|
-
type Schemas$
|
|
11810
|
-
type Notification = Schemas$
|
|
11811
|
-
type NotificationEvent = Schemas$
|
|
11812
|
-
type NotificationSettings = Schemas$
|
|
11813
|
-
type UpdateNotificationSettings = Schemas$
|
|
11814
|
-
type UnreadStatus = Schemas$
|
|
11815
|
-
type NotificationPage = Schemas$
|
|
12435
|
+
type Schemas$7 = components["schemas"];
|
|
12436
|
+
type Notification = Schemas$7["Notification"];
|
|
12437
|
+
type NotificationEvent = Schemas$7["NotificationEvent"];
|
|
12438
|
+
type NotificationSettings = Schemas$7["NotificationSettings"];
|
|
12439
|
+
type UpdateNotificationSettings = Schemas$7["UpdateNotificationSettings"];
|
|
12440
|
+
type UnreadStatus = Schemas$7["UnreadStatus"];
|
|
12441
|
+
type NotificationPage = Schemas$7["NotificationPage"];
|
|
11816
12442
|
//#endregion
|
|
11817
12443
|
//#region src/datatypes/pagination.d.ts
|
|
11818
|
-
type Schemas$
|
|
11819
|
-
type CursorPagination = Schemas$
|
|
12444
|
+
type Schemas$6 = components["schemas"];
|
|
12445
|
+
type CursorPagination = Schemas$6["CursorPagination"];
|
|
11820
12446
|
//#endregion
|
|
11821
12447
|
//#region src/datatypes/pipeline.d.ts
|
|
11822
|
-
type Schemas$
|
|
11823
|
-
type Pipeline = Schemas$
|
|
11824
|
-
type CreatePipeline = Schemas$
|
|
11825
|
-
type UpdatePipeline = Schemas$
|
|
11826
|
-
type PipelineDefinition = Schemas$
|
|
11827
|
-
type PipelineFilter = Schemas$
|
|
11828
|
-
type PipelineStatus = Schemas$
|
|
11829
|
-
type PipelineTriggerType = Schemas$
|
|
11830
|
-
type PipelineSummary = Schemas$
|
|
11831
|
-
type PipelineSummaryPage = Schemas$
|
|
12448
|
+
type Schemas$5 = components["schemas"];
|
|
12449
|
+
type Pipeline = Schemas$5["Pipeline"];
|
|
12450
|
+
type CreatePipeline = Schemas$5["CreatePipeline"];
|
|
12451
|
+
type UpdatePipeline = Schemas$5["UpdatePipeline"];
|
|
12452
|
+
type PipelineDefinition = Schemas$5["PipelineDefinition"];
|
|
12453
|
+
type PipelineFilter = Schemas$5["PipelineFilter"];
|
|
12454
|
+
type PipelineStatus = Schemas$5["PipelineStatus"];
|
|
12455
|
+
type PipelineTriggerType = Schemas$5["PipelineTriggerType"];
|
|
12456
|
+
type PipelineSummary = Schemas$5["PipelineSummary"];
|
|
12457
|
+
type PipelineSummaryPage = Schemas$5["PipelineSummaryPage"];
|
|
11832
12458
|
//#endregion
|
|
11833
12459
|
//#region src/datatypes/policy.d.ts
|
|
12460
|
+
type Schemas$4 = components["schemas"];
|
|
12461
|
+
type Policy = Schemas$4["Policy"];
|
|
12462
|
+
type PolicySummary = Schemas$4["PolicySummary"];
|
|
12463
|
+
type PolicySummaryPage = Schemas$4["PolicySummaryPage"];
|
|
12464
|
+
type PolicyDefinition = Schemas$4["PolicyDefinition"];
|
|
12465
|
+
type CreatePolicy = Schemas$4["CreatePolicy"];
|
|
12466
|
+
type UpdatePolicy = Schemas$4["UpdatePolicy"];
|
|
12467
|
+
type PolicyRule = Schemas$4["PolicyRule"];
|
|
12468
|
+
type PolicyTemplate = Schemas$4["PolicyTemplate"];
|
|
12469
|
+
type HipaaDeidMethod = Schemas$4["HipaaDeidMethod"];
|
|
12470
|
+
type GdprArticle9Treatment = Schemas$4["GdprArticle9Treatment"];
|
|
12471
|
+
type PciDssPart = Schemas$4["PciDssPart"];
|
|
12472
|
+
type PciPanRender = Schemas$4["PciPanRender"];
|
|
12473
|
+
type PredicatedRule = Schemas$4["PredicatedRule"];
|
|
12474
|
+
type TableRule = Schemas$4["TableRule"];
|
|
12475
|
+
type Predicate = Schemas$4["Predicate"];
|
|
12476
|
+
type DocumentPredicate = Schemas$4["DocumentPredicate"];
|
|
12477
|
+
type ModalityRedactions = Schemas$4["ModalityRedactions"];
|
|
12478
|
+
type TextRedaction = Schemas$4["TextRedaction"];
|
|
12479
|
+
type ImageRedaction = Schemas$4["ImageRedaction"];
|
|
12480
|
+
type AudioRedaction = Schemas$4["AudioRedaction"];
|
|
12481
|
+
type TabularRedaction = Schemas$4["TabularRedaction"];
|
|
12482
|
+
type RetentionPolicy = Schemas$4["RetentionPolicy"];
|
|
12483
|
+
type Retention = Schemas$4["Retention"];
|
|
12484
|
+
type RetentionScope = Schemas$4["RetentionScope"];
|
|
12485
|
+
type Labels = Schemas$4["Labels"];
|
|
12486
|
+
type LabelGroup = Schemas$4["LabelGroup"];
|
|
12487
|
+
type LabelEntry = Schemas$4["LabelEntry"];
|
|
12488
|
+
type LabelLocale = Schemas$4["LabelLocale"];
|
|
12489
|
+
type Label = Schemas$4["Label"];
|
|
12490
|
+
type LocalizedText = Schemas$4["LocalizedText"];
|
|
12491
|
+
type Color = Schemas$4["Color"];
|
|
12492
|
+
type Waveform = Schemas$4["Waveform"];
|
|
12493
|
+
type ClampBucket = Schemas$4["ClampBucket"];
|
|
12494
|
+
type ConfidenceThreshold = Schemas$4["ConfidenceThreshold"];
|
|
12495
|
+
type DateStyle = Schemas$4["DateStyle"];
|
|
12496
|
+
type DateGranularity = Schemas$4["DateGranularity"];
|
|
12497
|
+
type LanguageTag = Schemas$4["LanguageTag"];
|
|
12498
|
+
type Sha2Algorithm = Schemas$4["Sha2Algorithm"];
|
|
12499
|
+
type TerminalFallback = Schemas$4["TerminalFallback"];
|
|
12500
|
+
//#endregion
|
|
12501
|
+
//#region src/datatypes/recognizer.d.ts
|
|
11834
12502
|
type Schemas$3 = components["schemas"];
|
|
11835
|
-
type
|
|
11836
|
-
type
|
|
11837
|
-
type
|
|
11838
|
-
type
|
|
11839
|
-
type
|
|
11840
|
-
type
|
|
11841
|
-
type
|
|
12503
|
+
type RecognizerParams = Schemas$3["RecognizerParams"];
|
|
12504
|
+
type PatternRecognizerParams = Schemas$3["PatternRecognizerParams"];
|
|
12505
|
+
type ProviderSelection = Schemas$3["ProviderSelection"];
|
|
12506
|
+
type CustomPatternRule = Schemas$3["CustomPatternRule"];
|
|
12507
|
+
type CustomPatternVariant = Schemas$3["CustomPatternVariant"];
|
|
12508
|
+
type CustomPatternContext = Schemas$3["CustomPatternContext"];
|
|
12509
|
+
type CustomDictionary = Schemas$3["CustomDictionary"];
|
|
12510
|
+
type CustomDictionaryTerm = Schemas$3["CustomDictionaryTerm"];
|
|
12511
|
+
type PipelineDeduplication = Schemas$3["PipelineDeduplication"];
|
|
12512
|
+
type MergingStrategyParams = Schemas$3["MergingStrategyParams"];
|
|
12513
|
+
type TiebreakerParams = Schemas$3["TiebreakerParams"];
|
|
12514
|
+
type ScopeParams = Schemas$3["ScopeParams"];
|
|
12515
|
+
type ScopeMetadata = Schemas$3["ScopeMetadata"];
|
|
12516
|
+
type CountryCode = Schemas$3["CountryCode"];
|
|
12517
|
+
type Language = Schemas$3["Language"];
|
|
12518
|
+
type Languages = Schemas$3["Languages"];
|
|
12519
|
+
type LanguageSpan = Schemas$3["LanguageSpan"];
|
|
12520
|
+
type LanguageProvenance = Schemas$3["LanguageProvenance"];
|
|
12521
|
+
type Confidence = Schemas$3["Confidence"];
|
|
11842
12522
|
//#endregion
|
|
11843
12523
|
//#region src/datatypes/run.d.ts
|
|
11844
12524
|
type Schemas$2 = components["schemas"];
|
|
@@ -11846,7 +12526,7 @@ type PipelineRun = Schemas$2["PipelineRun"];
|
|
|
11846
12526
|
type CreatePipelineRun = Schemas$2["CreatePipelineRun"];
|
|
11847
12527
|
type PipelineRunStatus = Schemas$2["PipelineRunStatus"];
|
|
11848
12528
|
type PipelineRunPage = Schemas$2["PipelineRunPage"];
|
|
11849
|
-
type
|
|
12529
|
+
type Audit = Schemas$2["Audit"];
|
|
11850
12530
|
type Artifact = Schemas$2["Artifact"];
|
|
11851
12531
|
//#endregion
|
|
11852
12532
|
//#region src/datatypes/webhook.d.ts
|
|
@@ -11869,5 +12549,5 @@ type UpdateWorkspace = Schemas["UpdateWorkspace"];
|
|
|
11869
12549
|
type WorkspaceRole = Schemas["WorkspaceRole"];
|
|
11870
12550
|
type WorkspacePage = Schemas["WorkspacePage"];
|
|
11871
12551
|
//#endregion
|
|
11872
|
-
export {
|
|
11873
|
-
//# sourceMappingURL=index-
|
|
12552
|
+
export { LabelGroup as $, Account as $n, InviteSent as $t, LanguageSpan as A, S3Credentials as An, PipelineSummary as At, AudioRedaction as B, AuthToken as Bn, UpdateNotificationSettings as Bt, CustomDictionary as C, ConnectionSyncPage as Cn, UpdatePolicy as Ct, CustomPatternVariant as D, GcsCredentials as Dn, PipelineDefinition as Dt, CustomPatternRule as E, CreateConnection as En, Pipeline as Et, ProviderSelection as F, SyncSchedule as Fn, Notification as Ft, DateGranularity as G, ApiTokenType as Gn, UpdateMember as Gt, Color as H, Signup as Hn, Member as Ht, RecognizerParams as I, SyncScheduleInput as In, NotificationEvent as It, GdprArticle9Treatment as J, TokenExpiration as Jn, Invite as Jt, DateStyle as K, ApiTokenWithJWT as Kn, CreateInvite as Kt, ScopeMetadata as L, SyncStatus as Ln, NotificationPage as Lt, MergingStrategyParams as M, SyncConnection as Mn, PipelineTriggerType as Mt, PatternRecognizerParams as N, SyncDeletionPolicy as Nn, UpdatePipeline as Nt, Language as O, LlmConfig as On, PipelineFilter as Ot, PipelineDeduplication as P, SyncMode as Pn, CursorPagination as Pt, LabelEntry as Q, ActivityType as Qn, InvitePreview as Qt, ScopeParams as R, SyncTriggerType as Rn, NotificationSettings as Rt, CountryCode as S, ConnectionSync as Sn, TextRedaction as St, CustomPatternContext as T, ConnectionsQuery as Tn, CreatePipeline as Tt, ConfidenceThreshold as U, ApiToken as Un, MemberPage as Ut, ClampBucket as V, Login as Vn, ListMembers as Vt, CreatePolicy as W, ApiTokenPage as Wn, MemberSortField as Wt, ImageRedaction as X, Activity as Xn, InviteExpiration as Xt, HipaaDeidMethod as Y, UpdateApiToken as Yn, InviteCode as Yt, Label as Z, ActivityPage as Zn, InvitePage as Zt, CreatePipelineRun as _, AnthropicCredentials as _n, RetentionScope as _t, WorkspaceRole as a, ComponentHealth as an, PciDssPart as at, PipelineRunStatus as b, ConnectionConfig as bn, TabularRedaction as bt, UpdateWebhook as c, File as cn, PolicyDefinition as ct, WebhookEvent as d, FormatToken as dn, PolicySummaryPage as dt, InviteSortField as en, AccountRef as er, LabelLocale as et, WebhookPage as f, ListFiles as fn, PolicyTemplate as ft, Audit as g, ValidationErrorDetail as gn, RetentionPolicy as gt, Artifact as h, ErrorResponse as hn, Retention as ht, WorkspacePage as i, SortOrder as in, ModalityRedactions as it, Languages as j, StorageConfig as jn, PipelineSummaryPage as jt, LanguageProvenance as k, OpenAiCredentials as kn, PipelineStatus as kt, Webhook as l, FilePage as ln, PolicyRule as lt, WebhookStatus as m, UpdateFile as mn, PredicatedRule as mt, UpdateWorkspace as n, ListInvites as nn, UpdateAccount as nr, LanguageTag as nt, CreateWebhook as o, Health as on, PciPanRender as ot, WebhookResult as p, ModalityToken as pn, Predicate as pt, DocumentPredicate as q, CreateApiToken as qn, GenerateInviteCode as qt, Workspace as r, ReplyInvite as rn, paths as rr, LocalizedText as rt, TestWebhook as s, HealthStatus as sn, Policy as st, CreateWorkspace as t, InviteStatus as tn, PublicAccount as tr, Labels as tt, WebhookCreated as u, FileSource as un, PolicySummary as ut, PipelineRun as v, AzureCredentials as vn, Sha2Algorithm as vt, CustomDictionaryTerm as w, ConnectionVerification as wn, Waveform as wt, Confidence as x, ConnectionPage as xn, TerminalFallback as xt, PipelineRunPage as y, Connection as yn, TableRule as yt, TiebreakerParams as z, UpdateConnection as zn, UnreadStatus as zt };
|
|
12553
|
+
//# sourceMappingURL=index-BCjrTe_H.d.ts.map
|