@nvisy/sdk 0.34.0 → 0.35.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.
@@ -1574,7 +1574,7 @@ interface paths {
1574
1574
  [name: string]: unknown;
1575
1575
  };
1576
1576
  content: {
1577
- "application/json": components["schemas"]["RunTimeSeries"];
1577
+ "application/json": components["schemas"]["DetectionTimeSeries"];
1578
1578
  };
1579
1579
  };
1580
1580
  /**
@@ -4737,7 +4737,7 @@ interface paths {
4737
4737
  };
4738
4738
  trace?: never;
4739
4739
  };
4740
- "/workspaces/{workspaceSlug}/pipelines/runs/": {
4740
+ "/workspaces/{workspaceSlug}/pipelines/detections/": {
4741
4741
  parameters: {
4742
4742
  query?: never;
4743
4743
  header?: never;
@@ -4745,8 +4745,8 @@ interface paths {
4745
4745
  cookie?: never;
4746
4746
  };
4747
4747
  /**
4748
- * List workspace runs
4749
- * @description Returns all pipeline runs across the workspace, most recent first, with optional status, file, pipeline, trigger-account, and trigger-type filters.
4748
+ * List workspace detections
4749
+ * @description Returns all detections across the workspace, most recent first, with optional status, file, pipeline, trigger-account, and trigger-type filters.
4750
4750
  */
4751
4751
  get: {
4752
4752
  parameters: {
@@ -4764,15 +4764,15 @@ interface paths {
4764
4764
  includeCount?: boolean;
4765
4765
  /** @description The maximum number of records to return (1-100, default: 20). */
4766
4766
  limit?: number;
4767
- /** @description Filter by the source file the run analyzes. */
4767
+ /** @description Filter by the source file the detection analyzes. */
4768
4768
  fileId?: string;
4769
4769
  /** @description Filter by the owning pipeline. */
4770
4770
  pipelineId?: string;
4771
- /** @description Filter by run status. */
4772
- status?: components["schemas"]["PipelineRunStatus"];
4773
- /** @description Filter by how the run was initiated (user vs system). */
4771
+ /** @description Filter by detection status. */
4772
+ status?: components["schemas"]["DetectionStatus"];
4773
+ /** @description Filter by how the detection was initiated (user vs system). */
4774
4774
  triggerType?: components["schemas"]["PipelineTriggerType"];
4775
- /** @description Filter by the account that triggered the run. */
4775
+ /** @description Filter by the account that triggered the detection. */
4776
4776
  triggeredBy?: string;
4777
4777
  };
4778
4778
  header?: never;
@@ -4796,7 +4796,7 @@ interface paths {
4796
4796
  [name: string]: unknown;
4797
4797
  };
4798
4798
  content: {
4799
- "application/json": components["schemas"]["PipelineRunPage"];
4799
+ "application/json": components["schemas"]["DetectionPage"];
4800
4800
  };
4801
4801
  };
4802
4802
  /**
@@ -4854,7 +4854,7 @@ interface paths {
4854
4854
  patch?: never;
4855
4855
  trace?: never;
4856
4856
  };
4857
- "/workspaces/{workspaceSlug}/pipelines/{pipelineSlug}/runs/": {
4857
+ "/workspaces/{workspaceSlug}/pipelines/{pipelineSlug}/detections/": {
4858
4858
  parameters: {
4859
4859
  query?: never;
4860
4860
  header?: never;
@@ -4862,8 +4862,8 @@ interface paths {
4862
4862
  cookie?: never;
4863
4863
  };
4864
4864
  /**
4865
- * List pipeline runs
4866
- * @description Returns runs for a specific pipeline, most recent first, with optional status, file, trigger-account, and trigger-type filters.
4865
+ * List pipeline detections
4866
+ * @description Returns detections for a specific pipeline, most recent first, with optional status, file, trigger-account, and trigger-type filters.
4867
4867
  */
4868
4868
  get: {
4869
4869
  parameters: {
@@ -4881,13 +4881,13 @@ interface paths {
4881
4881
  includeCount?: boolean;
4882
4882
  /** @description The maximum number of records to return (1-100, default: 20). */
4883
4883
  limit?: number;
4884
- /** @description Filter by the source file the run analyzes. */
4884
+ /** @description Filter by the source file the detection analyzes. */
4885
4885
  fileId?: string;
4886
- /** @description Filter by run status. */
4887
- status?: components["schemas"]["PipelineRunStatus"];
4888
- /** @description Filter by how the run was initiated (user vs system). */
4886
+ /** @description Filter by detection status. */
4887
+ status?: components["schemas"]["DetectionStatus"];
4888
+ /** @description Filter by how the detection was initiated (user vs system). */
4889
4889
  triggerType?: components["schemas"]["PipelineTriggerType"];
4890
- /** @description Filter by the account that triggered the run. */
4890
+ /** @description Filter by the account that triggered the detection. */
4891
4891
  triggeredBy?: string;
4892
4892
  };
4893
4893
  header?: never;
@@ -4913,7 +4913,7 @@ interface paths {
4913
4913
  [name: string]: unknown;
4914
4914
  };
4915
4915
  content: {
4916
- "application/json": components["schemas"]["PipelineRunPage"];
4916
+ "application/json": components["schemas"]["DetectionPage"];
4917
4917
  };
4918
4918
  };
4919
4919
  /**
@@ -4965,8 +4965,8 @@ interface paths {
4965
4965
  };
4966
4966
  put?: never;
4967
4967
  /**
4968
- * Start a run (detect)
4969
- * @description Starts detection for a file and returns 202 with the run in the `running` state; the analysis runs in the background. Watch the run's status via the SSE stream at `.../runs/{runId}/events` (or re-read the run) and fetch the findings from `.../runs/{runId}/detections/` once it reaches `analyzed`. A repeated Idempotency-Key returns the existing run.
4968
+ * Start a detection
4969
+ * @description Starts analysis for a file and returns 202 with the detection in the `executing` state; the analysis runs in the background. Watch the detection's status via the SSE stream at `.../detections/{detectionId}/events` (or re-read the detection) and fetch the findings from `.../detections/{detectionId}/analysis/` once it reaches `complete`. A repeated Idempotency-Key returns the existing detection.
4970
4970
  */
4971
4971
  post: {
4972
4972
  parameters: {
@@ -4981,43 +4981,47 @@ interface paths {
4981
4981
  cookie?: never;
4982
4982
  };
4983
4983
  /**
4984
- * @description Request payload to start a run (detect) over a file.
4984
+ * @description Request payload to start a detection over a file.
4985
4985
  *
4986
- * Analyzes the file with the pipeline's configuration and returns the run,
4987
- * which holds the findings for review before redaction.
4986
+ * Analyzes the file with the pipeline's configuration and returns the
4987
+ * detection, which holds the findings for review before redaction.
4988
4988
  */
4989
4989
  requestBody: {
4990
4990
  content: {
4991
- "application/json": components["schemas"]["CreatePipelineRun"];
4991
+ "application/json": components["schemas"]["CreateDetection"];
4992
4992
  };
4993
4993
  };
4994
4994
  responses: {
4995
4995
  /**
4996
- * @description Response type for a pipeline run.
4996
+ * @description Response type for a detection.
4997
4997
  *
4998
- * A run is addressed by its own opaque id; the owning pipeline and workspace
4999
- * slugs are carried for context.
4998
+ * A detection is addressed by its own opaque id; the owning pipeline and
4999
+ * workspace slugs are carried for context. Redacted outputs are not here — a
5000
+ * detection produces many redactions, each fetched from its `redactions`
5001
+ * endpoint.
5000
5002
  */
5001
5003
  200: {
5002
5004
  headers: {
5003
5005
  [name: string]: unknown;
5004
5006
  };
5005
5007
  content: {
5006
- "application/json": components["schemas"]["PipelineRun"];
5008
+ "application/json": components["schemas"]["Detection"];
5007
5009
  };
5008
5010
  };
5009
5011
  /**
5010
- * @description Response type for a pipeline run.
5012
+ * @description Response type for a detection.
5011
5013
  *
5012
- * A run is addressed by its own opaque id; the owning pipeline and workspace
5013
- * slugs are carried for context.
5014
+ * A detection is addressed by its own opaque id; the owning pipeline and
5015
+ * workspace slugs are carried for context. Redacted outputs are not here — a
5016
+ * detection produces many redactions, each fetched from its `redactions`
5017
+ * endpoint.
5014
5018
  */
5015
5019
  202: {
5016
5020
  headers: {
5017
5021
  [name: string]: unknown;
5018
5022
  };
5019
5023
  content: {
5020
- "application/json": components["schemas"]["PipelineRun"];
5024
+ "application/json": components["schemas"]["Detection"];
5021
5025
  };
5022
5026
  };
5023
5027
  /**
@@ -5121,7 +5125,7 @@ interface paths {
5121
5125
  patch?: never;
5122
5126
  trace?: never;
5123
5127
  };
5124
- "/workspaces/{workspaceSlug}/runs/{runId}/": {
5128
+ "/workspaces/{workspaceSlug}/detections/{detectionId}/": {
5125
5129
  parameters: {
5126
5130
  query?: never;
5127
5131
  header?: never;
@@ -5129,8 +5133,8 @@ interface paths {
5129
5133
  cookie?: never;
5130
5134
  };
5131
5135
  /**
5132
- * Get pipeline run
5133
- * @description Returns the run and its status for review.
5136
+ * Get detection
5137
+ * @description Returns the detection and its status for review.
5134
5138
  */
5135
5139
  get: {
5136
5140
  parameters: {
@@ -5139,25 +5143,27 @@ interface paths {
5139
5143
  path: {
5140
5144
  /** @description URL-safe workspace identifier. */
5141
5145
  workspaceSlug: string;
5142
- /** @description Opaque identifier of the run. */
5143
- runId: components["schemas"]["RunId"];
5146
+ /** @description Opaque identifier of the detection. */
5147
+ detectionId: components["schemas"]["DetectionId"];
5144
5148
  };
5145
5149
  cookie?: never;
5146
5150
  };
5147
5151
  requestBody?: never;
5148
5152
  responses: {
5149
5153
  /**
5150
- * @description Response type for a pipeline run.
5154
+ * @description Response type for a detection.
5151
5155
  *
5152
- * A run is addressed by its own opaque id; the owning pipeline and workspace
5153
- * slugs are carried for context.
5156
+ * A detection is addressed by its own opaque id; the owning pipeline and
5157
+ * workspace slugs are carried for context. Redacted outputs are not here — a
5158
+ * detection produces many redactions, each fetched from its `redactions`
5159
+ * endpoint.
5154
5160
  */
5155
5161
  200: {
5156
5162
  headers: {
5157
5163
  [name: string]: unknown;
5158
5164
  };
5159
5165
  content: {
5160
- "application/json": components["schemas"]["PipelineRun"];
5166
+ "application/json": components["schemas"]["Detection"];
5161
5167
  };
5162
5168
  };
5163
5169
  /**
@@ -5215,7 +5221,7 @@ interface paths {
5215
5221
  patch?: never;
5216
5222
  trace?: never;
5217
5223
  };
5218
- "/workspaces/{workspaceSlug}/runs/{runId}/events": {
5224
+ "/workspaces/{workspaceSlug}/detections/{detectionId}/events/": {
5219
5225
  parameters: {
5220
5226
  query?: never;
5221
5227
  header?: never;
@@ -5223,8 +5229,8 @@ interface paths {
5223
5229
  cookie?: never;
5224
5230
  };
5225
5231
  /**
5226
- * Stream pipeline run status
5227
- * @description Opens a Server-Sent Events stream of the run's status changes. Emits the current status immediately, then each transition, and ends once the run settles (analyzed, failed, or cancelled). Each event's `data` is a `RunStatusEvent` (see the response schema). Authenticate with a Bearer token via a `fetch`-based client; the native `EventSource` cannot send an `Authorization` header.
5232
+ * Stream detection status
5233
+ * @description Opens a Server-Sent Events stream of the detection's status changes. Emits the current status immediately, then each transition, and ends once the detection settles (complete or failed). Each event's `data` is a `DetectionStatusEvent` (see the response schema). Authenticate with a Bearer token via a `fetch`-based client; the native `EventSource` cannot send an `Authorization` header.
5228
5234
  */
5229
5235
  get: {
5230
5236
  parameters: {
@@ -5233,8 +5239,8 @@ interface paths {
5233
5239
  path: {
5234
5240
  /** @description URL-safe workspace identifier. */
5235
5241
  workspaceSlug: string;
5236
- /** @description Opaque identifier of the run. */
5237
- runId: components["schemas"]["RunId"];
5242
+ /** @description Opaque identifier of the detection. */
5243
+ detectionId: components["schemas"]["DetectionId"];
5238
5244
  };
5239
5245
  cookie?: never;
5240
5246
  };
@@ -5246,7 +5252,7 @@ interface paths {
5246
5252
  [name: string]: unknown;
5247
5253
  };
5248
5254
  content: {
5249
- "text/event-stream": components["schemas"]["RunStatusEvent"];
5255
+ "text/event-stream": components["schemas"]["DetectionStatusEvent"];
5250
5256
  };
5251
5257
  };
5252
5258
  /**
@@ -5304,18 +5310,111 @@ interface paths {
5304
5310
  patch?: never;
5305
5311
  trace?: never;
5306
5312
  };
5307
- "/workspaces/{workspaceSlug}/runs/{runId}/redactions/": {
5313
+ "/workspaces/{workspaceSlug}/detections/{detectionId}/redactions/": {
5308
5314
  parameters: {
5309
5315
  query?: never;
5310
5316
  header?: never;
5311
5317
  path?: never;
5312
5318
  cookie?: never;
5313
5319
  };
5314
- get?: never;
5320
+ /**
5321
+ * List detection redactions
5322
+ * @description Returns a detection's redactions, most recent first, cursor-paginated. Each redaction is one redact pass with its own reviewer edits, output document, and review audit.
5323
+ */
5324
+ get: {
5325
+ parameters: {
5326
+ query?: {
5327
+ /**
5328
+ * @description Cursor pointing to the last item of the previous page.
5329
+ * Obtain this from the `nextCursor` field in the response.
5330
+ */
5331
+ after?: string;
5332
+ /**
5333
+ * @description Whether to include the total item count in the response's `total` field.
5334
+ * Defaults to `false`, since counting is an extra query; set it to `true`
5335
+ * only when the count is actually needed.
5336
+ */
5337
+ includeCount?: boolean;
5338
+ /** @description The maximum number of records to return (1-100, default: 20). */
5339
+ limit?: number;
5340
+ };
5341
+ header?: never;
5342
+ path: {
5343
+ /** @description URL-safe workspace identifier. */
5344
+ workspaceSlug: string;
5345
+ /** @description Opaque identifier of the detection. */
5346
+ detectionId: components["schemas"]["DetectionId"];
5347
+ };
5348
+ cookie?: never;
5349
+ };
5350
+ requestBody?: never;
5351
+ responses: {
5352
+ /**
5353
+ * @description Generic paginated response wrapper.
5354
+ *
5355
+ * Provides a consistent structure for all paginated API responses with
5356
+ * cursor-based pagination support. When `next_cursor` is present, there
5357
+ * are more items to fetch.
5358
+ */
5359
+ 200: {
5360
+ headers: {
5361
+ [name: string]: unknown;
5362
+ };
5363
+ content: {
5364
+ "application/json": components["schemas"]["RedactionResultPage"];
5365
+ };
5366
+ };
5367
+ /**
5368
+ * @description HTTP error response representation with security-conscious design.
5369
+ *
5370
+ * This struct contains all the information needed to serialize an error
5371
+ * response, including the error name, message, HTTP status code, resource
5372
+ * information, and user-friendly messages.
5373
+ */
5374
+ 401: {
5375
+ headers: {
5376
+ [name: string]: unknown;
5377
+ };
5378
+ content: {
5379
+ "application/json": components["schemas"]["ErrorResponse"];
5380
+ };
5381
+ };
5382
+ /**
5383
+ * @description HTTP error response representation with security-conscious design.
5384
+ *
5385
+ * This struct contains all the information needed to serialize an error
5386
+ * response, including the error name, message, HTTP status code, resource
5387
+ * information, and user-friendly messages.
5388
+ */
5389
+ 403: {
5390
+ headers: {
5391
+ [name: string]: unknown;
5392
+ };
5393
+ content: {
5394
+ "application/json": components["schemas"]["ErrorResponse"];
5395
+ };
5396
+ };
5397
+ /**
5398
+ * @description HTTP error response representation with security-conscious design.
5399
+ *
5400
+ * This struct contains all the information needed to serialize an error
5401
+ * response, including the error name, message, HTTP status code, resource
5402
+ * information, and user-friendly messages.
5403
+ */
5404
+ 404: {
5405
+ headers: {
5406
+ [name: string]: unknown;
5407
+ };
5408
+ content: {
5409
+ "application/json": components["schemas"]["ErrorResponse"];
5410
+ };
5411
+ };
5412
+ };
5413
+ };
5315
5414
  put?: never;
5316
5415
  /**
5317
- * Redact a run
5318
- * @description Applies the pipeline's policies to the run's stored analysis, stores the redacted file, and completes the run.
5416
+ * Redact a detection
5417
+ * @description Applies the pipeline's policies to the detection's stored analysis — with any reviewer `edits` layered on first (suppress a false positive, retag a detection, or add one the analysis missed) and produces a new redaction: a redacted document plus a review audit recording what was redacted. A detection can be redacted more than once. An edit targeting a detection not in the analysis, or a set that contradicts itself, is rejected (400).
5319
5418
  */
5320
5419
  post: {
5321
5420
  parameters: {
@@ -5324,25 +5423,58 @@ interface paths {
5324
5423
  path: {
5325
5424
  /** @description URL-safe workspace identifier. */
5326
5425
  workspaceSlug: string;
5327
- /** @description Opaque identifier of the run. */
5328
- runId: components["schemas"]["RunId"];
5426
+ /** @description Opaque identifier of the detection. */
5427
+ detectionId: components["schemas"]["DetectionId"];
5329
5428
  };
5330
5429
  cookie?: never;
5331
5430
  };
5332
- requestBody?: never;
5431
+ /**
5432
+ * @description Request payload to redact a detection.
5433
+ *
5434
+ * The reviewer's edits layer over the detection's analysis before redaction:
5435
+ * suppress a false positive, retag a detection, or add one the analysis missed.
5436
+ * Omit `edits` to redact with the policy decisions exactly as detected. Each
5437
+ * redact request produces a new redaction.
5438
+ */
5439
+ requestBody: {
5440
+ content: {
5441
+ "application/json": components["schemas"]["RedactDetection"];
5442
+ };
5443
+ };
5333
5444
  responses: {
5334
5445
  /**
5335
- * @description Response type for a pipeline run.
5446
+ * @description Response type for a redaction.
5336
5447
  *
5337
- * A run is addressed by its own opaque id; the owning pipeline and workspace
5338
- * slugs are carried for context.
5448
+ * A redaction is one redact pass over a detection, produced with a specific set
5449
+ * of reviewer edits. It owns the redacted output document (downloadable through
5450
+ * the normal file endpoints) and a review audit recording what was redacted and
5451
+ * why (fetched from the redaction's `review` endpoint).
5452
+ *
5453
+ * Named `RedactionResult` rather than `Redaction` because the engine's audit
5454
+ * schema already carries a `Redaction` (an audit event), and the two must not
5455
+ * collide in the generated OpenAPI.
5339
5456
  */
5340
- 200: {
5457
+ 201: {
5458
+ headers: {
5459
+ [name: string]: unknown;
5460
+ };
5461
+ content: {
5462
+ "application/json": components["schemas"]["RedactionResult"];
5463
+ };
5464
+ };
5465
+ /**
5466
+ * @description HTTP error response representation with security-conscious design.
5467
+ *
5468
+ * This struct contains all the information needed to serialize an error
5469
+ * response, including the error name, message, HTTP status code, resource
5470
+ * information, and user-friendly messages.
5471
+ */
5472
+ 400: {
5341
5473
  headers: {
5342
5474
  [name: string]: unknown;
5343
5475
  };
5344
5476
  content: {
5345
- "application/json": components["schemas"]["PipelineRun"];
5477
+ "application/json": components["schemas"]["ErrorResponse"];
5346
5478
  };
5347
5479
  };
5348
5480
  /**
@@ -5405,6 +5537,24 @@ interface paths {
5405
5537
  "application/json": components["schemas"]["ErrorResponse"];
5406
5538
  };
5407
5539
  };
5540
+ /** @description Expected request with `Content-Type: application/json` */
5541
+ 415: {
5542
+ headers: {
5543
+ [name: string]: unknown;
5544
+ };
5545
+ content: {
5546
+ "text/plain": string;
5547
+ };
5548
+ };
5549
+ /** @description Failed to deserialize the JSON body into the target type */
5550
+ 422: {
5551
+ headers: {
5552
+ [name: string]: unknown;
5553
+ };
5554
+ content: {
5555
+ "text/plain": string;
5556
+ };
5557
+ };
5408
5558
  };
5409
5559
  };
5410
5560
  delete?: never;
@@ -5413,7 +5563,7 @@ interface paths {
5413
5563
  patch?: never;
5414
5564
  trace?: never;
5415
5565
  };
5416
- "/workspaces/{workspaceSlug}/runs/{runId}/detections/": {
5566
+ "/workspaces/{workspaceSlug}/detections/{detectionId}/analysis/": {
5417
5567
  parameters: {
5418
5568
  query?: never;
5419
5569
  header?: never;
@@ -5421,8 +5571,8 @@ interface paths {
5421
5571
  cookie?: never;
5422
5572
  };
5423
5573
  /**
5424
- * Get run detections
5425
- * @description Returns the run's detected findings (the analyzed document) for review.
5574
+ * Get detection findings
5575
+ * @description Returns the detection's detected findings (the analyzed document) for review.
5426
5576
  */
5427
5577
  get: {
5428
5578
  parameters: {
@@ -5431,21 +5581,25 @@ interface paths {
5431
5581
  path: {
5432
5582
  /** @description URL-safe workspace identifier. */
5433
5583
  workspaceSlug: string;
5434
- /** @description Opaque identifier of the run. */
5435
- runId: components["schemas"]["RunId"];
5584
+ /** @description Opaque identifier of the detection. */
5585
+ detectionId: components["schemas"]["DetectionId"];
5436
5586
  };
5437
5587
  cookie?: never;
5438
5588
  };
5439
5589
  requestBody?: never;
5440
5590
  responses: {
5441
5591
  /**
5442
- * @description What detection found in one document, plus what a reviewer
5443
- * decided about it.
5592
+ * @description What detection found in one document.
5444
5593
  *
5445
- * Wraps elide's [`Report`] with the three things elide does not
5446
- * model: the recognition [`DocumentContext`] the entities were
5447
- * scored against, how the document decoded, and the reviewer
5448
- * decisions in [`edits`](Self::edits).
5594
+ * Wraps elide's [`Report`] with the things elide does not model:
5595
+ * the recognition [`DocumentContext`] the entities were scored
5596
+ * against, how the document decoded, and what the pass cost.
5597
+ *
5598
+ * Reviewer edits are not here. They are the caller's own input,
5599
+ * applied to the report before anonymize
5600
+ * ([`EditSet::apply`](crate::entity::EditSet::apply)), so an audit
5601
+ * carries what analysis found *as amended* rather than the
5602
+ * amendments themselves.
5449
5603
  *
5450
5604
  * # Serialization
5451
5605
  *
@@ -5457,10 +5611,10 @@ interface paths {
5457
5611
  * # Schema
5458
5612
  *
5459
5613
  * Generate under the **serialize** contract
5460
- * ([`SchemaSettings::for_serialize`]). `edits` and `usage` are
5461
- * `skip_serializing_if`, and only that contract marks them
5462
- * optional — `schema_for!` defaults to deserialize and declares
5463
- * both required, so a generated client would reject responses this
5614
+ * ([`SchemaSettings::for_serialize`]). `usage` is
5615
+ * `skip_serializing_if`, and only that contract marks it optional
5616
+ * — `schema_for!` defaults to deserialize and declares it
5617
+ * required, so a generated client would reject responses this
5464
5618
  * crate really emits.
5465
5619
  *
5466
5620
  * [`Engine`]: super::Engine
@@ -5546,7 +5700,7 @@ interface paths {
5546
5700
  patch?: never;
5547
5701
  trace?: never;
5548
5702
  };
5549
- "/workspaces/{workspaceSlug}/runs/{runId}/audit": {
5703
+ "/workspaces/{workspaceSlug}/detections/{detectionId}/audit/": {
5550
5704
  parameters: {
5551
5705
  query?: never;
5552
5706
  header?: never;
@@ -5554,8 +5708,8 @@ interface paths {
5554
5708
  cookie?: never;
5555
5709
  };
5556
5710
  /**
5557
- * Download run audit
5558
- * @description Downloads the run's audit as a file. `format` is `csv` (default) — a zip of entities.csv, provenance.csv, and reviews.csv — or `json`, a pretty-printed JSON file.
5711
+ * Download detection audit
5712
+ * @description Downloads the detection's audit as a file. `format` is `csv` (default) — a zip of entities.csv, provenance.csv, and reviews.csv — or `json`, a pretty-printed JSON file.
5559
5713
  */
5560
5714
  get: {
5561
5715
  parameters: {
@@ -5567,14 +5721,14 @@ interface paths {
5567
5721
  path: {
5568
5722
  /** @description URL-safe workspace identifier. */
5569
5723
  workspaceSlug: string;
5570
- /** @description Opaque identifier of the run. */
5571
- runId: components["schemas"]["RunId"];
5724
+ /** @description Opaque identifier of the detection. */
5725
+ detectionId: components["schemas"]["DetectionId"];
5572
5726
  };
5573
5727
  cookie?: never;
5574
5728
  };
5575
5729
  requestBody?: never;
5576
5730
  responses: {
5577
- /** @description The run's exported audit. */
5731
+ /** @description The detection's exported audit. */
5578
5732
  200: {
5579
5733
  headers: {
5580
5734
  [name: string]: unknown;
@@ -5654,6 +5808,143 @@ interface paths {
5654
5808
  patch?: never;
5655
5809
  trace?: never;
5656
5810
  };
5811
+ "/workspaces/{workspaceSlug}/redactions/{redactionId}/review": {
5812
+ parameters: {
5813
+ query?: never;
5814
+ header?: never;
5815
+ path?: never;
5816
+ cookie?: never;
5817
+ };
5818
+ /**
5819
+ * Get redaction review
5820
+ * @description Returns the redaction's review audit: the detection analysis with the reviewer's edits applied and the per-entity redaction outcome recorded.
5821
+ */
5822
+ get: {
5823
+ parameters: {
5824
+ query?: never;
5825
+ header?: never;
5826
+ path: {
5827
+ /** @description URL-safe workspace identifier. */
5828
+ workspaceSlug: string;
5829
+ /** @description Opaque identifier of the redaction. */
5830
+ redactionId: components["schemas"]["RedactionId"];
5831
+ };
5832
+ cookie?: never;
5833
+ };
5834
+ requestBody?: never;
5835
+ responses: {
5836
+ /**
5837
+ * @description What detection found in one document.
5838
+ *
5839
+ * Wraps elide's [`Report`] with the things elide does not model:
5840
+ * the recognition [`DocumentContext`] the entities were scored
5841
+ * against, how the document decoded, and what the pass cost.
5842
+ *
5843
+ * Reviewer edits are not here. They are the caller's own input,
5844
+ * applied to the report before anonymize
5845
+ * ([`EditSet::apply`](crate::entity::EditSet::apply)), so an audit
5846
+ * carries what analysis found *as amended* rather than the
5847
+ * amendments themselves.
5848
+ *
5849
+ * # Serialization
5850
+ *
5851
+ * [`Serialize`] but deliberately **not** `Deserialize`: a
5852
+ * serialized report tags entity groups by modality *name*, so
5853
+ * rebuilding one needs the registry [`Engine`] holds. Read an
5854
+ * audit back with [`Engine::deserialize_audit`].
5855
+ *
5856
+ * # Schema
5857
+ *
5858
+ * Generate under the **serialize** contract
5859
+ * ([`SchemaSettings::for_serialize`]). `usage` is
5860
+ * `skip_serializing_if`, and only that contract marks it optional
5861
+ * — `schema_for!` defaults to deserialize and declares it
5862
+ * required, so a generated client would reject responses this
5863
+ * crate really emits.
5864
+ *
5865
+ * [`Engine`]: super::Engine
5866
+ * [`Engine::deserialize_audit`]: super::Engine::deserialize_audit
5867
+ * [`Report`]: elide::Report
5868
+ * [`SchemaSettings::for_serialize`]: schemars::generate::SchemaSettings::for_serialize
5869
+ */
5870
+ 200: {
5871
+ headers: {
5872
+ [name: string]: unknown;
5873
+ };
5874
+ content: {
5875
+ "application/json": components["schemas"]["Audit"];
5876
+ };
5877
+ };
5878
+ /**
5879
+ * @description HTTP error response representation with security-conscious design.
5880
+ *
5881
+ * This struct contains all the information needed to serialize an error
5882
+ * response, including the error name, message, HTTP status code, resource
5883
+ * information, and user-friendly messages.
5884
+ */
5885
+ 401: {
5886
+ headers: {
5887
+ [name: string]: unknown;
5888
+ };
5889
+ content: {
5890
+ "application/json": components["schemas"]["ErrorResponse"];
5891
+ };
5892
+ };
5893
+ /**
5894
+ * @description HTTP error response representation with security-conscious design.
5895
+ *
5896
+ * This struct contains all the information needed to serialize an error
5897
+ * response, including the error name, message, HTTP status code, resource
5898
+ * information, and user-friendly messages.
5899
+ */
5900
+ 403: {
5901
+ headers: {
5902
+ [name: string]: unknown;
5903
+ };
5904
+ content: {
5905
+ "application/json": components["schemas"]["ErrorResponse"];
5906
+ };
5907
+ };
5908
+ /**
5909
+ * @description HTTP error response representation with security-conscious design.
5910
+ *
5911
+ * This struct contains all the information needed to serialize an error
5912
+ * response, including the error name, message, HTTP status code, resource
5913
+ * information, and user-friendly messages.
5914
+ */
5915
+ 404: {
5916
+ headers: {
5917
+ [name: string]: unknown;
5918
+ };
5919
+ content: {
5920
+ "application/json": components["schemas"]["ErrorResponse"];
5921
+ };
5922
+ };
5923
+ /**
5924
+ * @description HTTP error response representation with security-conscious design.
5925
+ *
5926
+ * This struct contains all the information needed to serialize an error
5927
+ * response, including the error name, message, HTTP status code, resource
5928
+ * information, and user-friendly messages.
5929
+ */
5930
+ 409: {
5931
+ headers: {
5932
+ [name: string]: unknown;
5933
+ };
5934
+ content: {
5935
+ "application/json": components["schemas"]["ErrorResponse"];
5936
+ };
5937
+ };
5938
+ };
5939
+ };
5940
+ put?: never;
5941
+ post?: never;
5942
+ delete?: never;
5943
+ options?: never;
5944
+ head?: never;
5945
+ patch?: never;
5946
+ trace?: never;
5947
+ };
5657
5948
  "/workspaces/{workspaceSlug}/policies/": {
5658
5949
  parameters: {
5659
5950
  query?: never;
@@ -8878,21 +9169,21 @@ interface components {
8878
9169
  /** @constant */
8879
9170
  type: "pipeline.deleted";
8880
9171
  } | {
8881
- data: components["schemas"]["PipelineRunActivityParams"];
9172
+ data: components["schemas"]["DetectionActivityParams"];
8882
9173
  /** @constant */
8883
- type: "pipeline.run.started";
9174
+ type: "pipeline.detection.started";
8884
9175
  } | {
8885
- data: components["schemas"]["PipelineRunActivityParams"];
9176
+ data: components["schemas"]["DetectionActivityParams"];
8886
9177
  /** @constant */
8887
- type: "pipeline.run.analyzed";
9178
+ type: "pipeline.detection.completed";
8888
9179
  } | {
8889
- data: components["schemas"]["PipelineRunActivityParams"];
9180
+ data: components["schemas"]["DetectionActivityParams"];
8890
9181
  /** @constant */
8891
- type: "pipeline.run.completed";
9182
+ type: "pipeline.detection.failed";
8892
9183
  } | {
8893
- data: components["schemas"]["PipelineRunActivityParams"];
9184
+ data: components["schemas"]["RedactionActivityParams"];
8894
9185
  /** @constant */
8895
- type: "pipeline.run.failed";
9186
+ type: "pipeline.redaction.created";
8896
9187
  } | {
8897
9188
  data: components["schemas"]["PolicyActivityParams"];
8898
9189
  /** @constant */
@@ -8913,7 +9204,7 @@ interface components {
8913
9204
  * to categorize different types of activities that occur within workspaces for comprehensive
8914
9205
  * audit trail and activity tracking.
8915
9206
  */
8916
- ActivityType: "workspace.created" | "workspace.updated" | "workspace.deleted" | "member.added" | "member.updated" | "member.deleted" | "invite.created" | "invite.accepted" | "invite.declined" | "invite.canceled" | "connection.created" | "connection.updated" | "connection.deleted" | "connection.sync.started" | "connection.sync.completed" | "connection.sync.failed" | "webhook.created" | "webhook.updated" | "webhook.deleted" | "file.created" | "file.updated" | "file.deleted" | "pipeline.created" | "pipeline.updated" | "pipeline.deleted" | "pipeline.run.started" | "pipeline.run.analyzed" | "pipeline.run.completed" | "pipeline.run.failed" | "policy.created" | "policy.updated" | "policy.deleted";
9207
+ ActivityType: "workspace.created" | "workspace.updated" | "workspace.deleted" | "member.added" | "member.updated" | "member.deleted" | "invite.created" | "invite.accepted" | "invite.declined" | "invite.canceled" | "connection.created" | "connection.updated" | "connection.deleted" | "connection.sync.started" | "connection.sync.completed" | "connection.sync.failed" | "webhook.created" | "webhook.updated" | "webhook.deleted" | "file.created" | "file.updated" | "file.deleted" | "pipeline.created" | "pipeline.updated" | "pipeline.deleted" | "pipeline.detection.started" | "pipeline.detection.completed" | "pipeline.detection.failed" | "pipeline.redaction.created" | "policy.created" | "policy.updated" | "policy.deleted";
8917
9208
  /** @description Anthropic API credentials. */
8918
9209
  AnthropicCredentials: {
8919
9210
  /** @description Anthropic API key. */
@@ -9268,10 +9559,7 @@ interface components {
9268
9559
  } & components["schemas"]["AudioRetag"]) | ({
9269
9560
  /** @constant */
9270
9561
  op: "suppress";
9271
- } & components["schemas"]["Suppress"]) | ({
9272
- /** @constant */
9273
- op: "redact";
9274
- } & components["schemas"]["AudioRedact"]);
9562
+ } & components["schemas"]["Suppress"]);
9275
9563
  /**
9276
9564
  * @description Detected piece of sensitive information within some medium.
9277
9565
  *
@@ -9438,37 +9726,6 @@ interface components {
9438
9726
  /** @description Pattern metadata (name, regex, validator, contextual flag). */
9439
9727
  pattern: components["schemas"]["PatternEvent"];
9440
9728
  };
9441
- /**
9442
- * @description Redact this entity with `action` instead of the operator the
9443
- * policy picked.
9444
- */
9445
- AudioRedact: {
9446
- /**
9447
- * @description The operator to run, typed to the entity's own modality so a
9448
- * text entity cannot be given an image operator.
9449
- */
9450
- action: components["schemas"]["AudioRedaction"];
9451
- /** @description Who made it, when the caller said. */
9452
- actor?: string;
9453
- /**
9454
- * Format: uuid
9455
- * @description The entity to redact.
9456
- */
9457
- id: string;
9458
- /**
9459
- * Format: uuid
9460
- * @description The policy whose authority the reviewer exercises. Must match
9461
- * a submitted policy's `id`.
9462
- *
9463
- * Not only for audit: it picks which per-policy pseudonym vault
9464
- * and `KeyProvider` the operator resolves against, so an
9465
- * override using `Pseudonymize` or `HmacHash` stays consistent
9466
- * with that policy's other rules.
9467
- */
9468
- policyId: string;
9469
- /** @description The rationale, when one was given. */
9470
- reason?: string;
9471
- };
9472
9729
  /** @description Operator spec a `redact` audio rule carries. */
9473
9730
  AudioRedaction: {
9474
9731
  /** @constant */
@@ -9552,13 +9809,17 @@ interface components {
9552
9809
  reason?: string;
9553
9810
  };
9554
9811
  /**
9555
- * @description What detection found in one document, plus what a reviewer
9556
- * decided about it.
9812
+ * @description What detection found in one document.
9813
+ *
9814
+ * Wraps elide's [`Report`] with the things elide does not model:
9815
+ * the recognition [`DocumentContext`] the entities were scored
9816
+ * against, how the document decoded, and what the pass cost.
9557
9817
  *
9558
- * Wraps elide's [`Report`] with the three things elide does not
9559
- * model: the recognition [`DocumentContext`] the entities were
9560
- * scored against, how the document decoded, and the reviewer
9561
- * decisions in [`edits`](Self::edits).
9818
+ * Reviewer edits are not here. They are the caller's own input,
9819
+ * applied to the report before anonymize
9820
+ * ([`EditSet::apply`](crate::entity::EditSet::apply)), so an audit
9821
+ * carries what analysis found *as amended* rather than the
9822
+ * amendments themselves.
9562
9823
  *
9563
9824
  * # Serialization
9564
9825
  *
@@ -9570,10 +9831,10 @@ interface components {
9570
9831
  * # Schema
9571
9832
  *
9572
9833
  * Generate under the **serialize** contract
9573
- * ([`SchemaSettings::for_serialize`]). `edits` and `usage` are
9574
- * `skip_serializing_if`, and only that contract marks them
9575
- * optional — `schema_for!` defaults to deserialize and declares
9576
- * both required, so a generated client would reject responses this
9834
+ * ([`SchemaSettings::for_serialize`]). `usage` is
9835
+ * `skip_serializing_if`, and only that contract marks it optional
9836
+ * — `schema_for!` defaults to deserialize and declares it
9837
+ * required, so a generated client would reject responses this
9577
9838
  * crate really emits.
9578
9839
  *
9579
9840
  * [`Engine`]: super::Engine
@@ -9601,28 +9862,12 @@ interface components {
9601
9862
  * [`Engine::anonymize`]: super::Engine::anonymize
9602
9863
  */
9603
9864
  context: components["schemas"]["DocumentContext"];
9604
- /**
9605
- * @description What a reviewer changed: detections they added, corrected,
9606
- * suppressed, or chose an operator for.
9607
- *
9608
- * A list rather than one decision per entity, because the
9609
- * operations feed independent channels — a retag and an
9610
- * operator override on the same entity are both legitimate.
9611
- *
9612
- * Separate from the report because elide has no concept of a
9613
- * per-entity operator override: [`anonymize_with`] re-resolves
9614
- * operators from live policy at apply time.
9615
- *
9616
- * [`anonymize_with`]: elide::Orchestrator::anonymize_with
9617
- */
9618
- edits: components["schemas"]["EditSet"];
9619
9865
  /**
9620
9866
  * @description The detections: elide's own report, body and container
9621
9867
  * parts, each entity carrying its provenance chain.
9622
9868
  *
9623
9869
  * Edit it through [`Report`]'s own API — [`include`],
9624
9870
  * [`suppress`], [`entities`] — for the decisions elide models.
9625
- * Operator overrides live in [`edits`](Self::edits).
9626
9871
  *
9627
9872
  * [`Report`]: elide::Report
9628
9873
  * [`include`]: elide::Report::include
@@ -10212,6 +10457,26 @@ interface components {
10212
10457
  */
10213
10458
  sync?: components["schemas"]["SyncScheduleInput"];
10214
10459
  };
10460
+ /**
10461
+ * @description Request payload to start a detection over a file.
10462
+ *
10463
+ * Analyzes the file with the pipeline's configuration and returns the
10464
+ * detection, which holds the findings for review before redaction.
10465
+ */
10466
+ CreateDetection: {
10467
+ /**
10468
+ * Format: uuid
10469
+ * @description The file to analyze.
10470
+ */
10471
+ fileId: string;
10472
+ /**
10473
+ * @description Per-document scope (languages, jurisdictions, document labels).
10474
+ *
10475
+ * Overrides the pipeline's `defaultScope` when present; absent falls back to
10476
+ * the pipeline default.
10477
+ */
10478
+ scope?: components["schemas"]["DocumentContext"];
10479
+ };
10215
10480
  /** @description Request payload for creating a new workspace invite. */
10216
10481
  CreateInvite: {
10217
10482
  /** @description When the invitation expires. */
@@ -10253,26 +10518,6 @@ interface components {
10253
10518
  */
10254
10519
  status?: components["schemas"]["PipelineStatus"];
10255
10520
  };
10256
- /**
10257
- * @description Request payload to start a run (detect) over a file.
10258
- *
10259
- * Analyzes the file with the pipeline's configuration and returns the run,
10260
- * which holds the findings for review before redaction.
10261
- */
10262
- CreatePipelineRun: {
10263
- /**
10264
- * Format: uuid
10265
- * @description The file to analyze.
10266
- */
10267
- fileId: string;
10268
- /**
10269
- * @description Per-document scope (languages, jurisdictions, document labels).
10270
- *
10271
- * Overrides the pipeline's `defaultScope` when present; absent falls back to
10272
- * the pipeline default.
10273
- */
10274
- scope?: components["schemas"]["DocumentContext"];
10275
- };
10276
10521
  /**
10277
10522
  * @description Request payload for creating a new workspace policy.
10278
10523
  *
@@ -10410,6 +10655,241 @@ interface components {
10410
10655
  /** @description Name of the fusion strategy that combined them. */
10411
10656
  strategy: string;
10412
10657
  };
10658
+ /**
10659
+ * @description Response type for a detection.
10660
+ *
10661
+ * A detection is addressed by its own opaque id; the owning pipeline and
10662
+ * workspace slugs are carried for context. Redacted outputs are not here — a
10663
+ * detection produces many redactions, each fetched from its `redactions`
10664
+ * endpoint.
10665
+ */
10666
+ Detection: {
10667
+ /**
10668
+ * Format: date-time
10669
+ * @description When the detection completed analysis.
10670
+ */
10671
+ completedAt?: string;
10672
+ /** @description Human-readable failure reason, present only when the detection `failed`. */
10673
+ error?: string;
10674
+ /** @description Opaque identifier of the detection. */
10675
+ id: components["schemas"]["DetectionId"];
10676
+ /**
10677
+ * Format: uuid
10678
+ * @description Source document this detection analyzes.
10679
+ */
10680
+ inputFileId: string;
10681
+ /**
10682
+ * @description Display name of the source document, for showing the detection without a
10683
+ * separate file lookup. `None` if the file was removed (e.g. by retention).
10684
+ */
10685
+ inputFileName?: string;
10686
+ /** @description Non-encrypted metadata for filtering/display. */
10687
+ metadata: components["schemas"]["DetectionMetadata"];
10688
+ /** @description Handle of the pipeline this detection belongs to. */
10689
+ pipelineSlug: components["schemas"]["Handle"];
10690
+ /**
10691
+ * Format: date-time
10692
+ * @description When the detection started.
10693
+ */
10694
+ startedAt: string;
10695
+ /**
10696
+ * @description Current detection status.
10697
+ *
10698
+ * The detections are available to fetch from the detection's `analysis`
10699
+ * endpoint once this reaches `complete`.
10700
+ */
10701
+ status: components["schemas"]["DetectionStatus"];
10702
+ /** @description How the detection was triggered. */
10703
+ triggerType: components["schemas"]["PipelineTriggerType"];
10704
+ /** @description Account that triggered the detection. */
10705
+ triggeredBy: components["schemas"]["AccountRef"];
10706
+ /** @description Handle of the workspace this detection belongs to. */
10707
+ workspaceSlug: components["schemas"]["Handle"];
10708
+ };
10709
+ /** @description Params of a detection activity (`pipeline.detection.*`). */
10710
+ DetectionActivityParams: {
10711
+ /** @description Id of the detection. */
10712
+ detectionId: components["schemas"]["DetectionId"];
10713
+ /** @description Slug of the owning pipeline. */
10714
+ pipelineSlug: components["schemas"]["Handle"];
10715
+ };
10716
+ /** @description Pipeline-run health for a workspace. */
10717
+ DetectionAnalytics: {
10718
+ /**
10719
+ * Format: int64
10720
+ * @description Mean completed-run duration in milliseconds; omitted until a run completes.
10721
+ */
10722
+ avgDurationMs?: number;
10723
+ /**
10724
+ * @description Per-status breakdown, one entry per run status (zero-filled), in a stable
10725
+ * order.
10726
+ */
10727
+ byStatus: components["schemas"]["DetectionStatusEntry"][];
10728
+ /**
10729
+ * Format: double
10730
+ * @description Failed / (completed + failed). Omitted when no run has reached a terminal
10731
+ * state (genuinely no signal, not zero).
10732
+ */
10733
+ errorRate?: number;
10734
+ /**
10735
+ * Format: int64
10736
+ * @description 95th-percentile completed-run duration in milliseconds; omitted until a run
10737
+ * completes.
10738
+ */
10739
+ p95DurationMs?: number;
10740
+ /**
10741
+ * Format: int64
10742
+ * @description Total number of runs.
10743
+ */
10744
+ total: number;
10745
+ };
10746
+ /** @description Params of a `pipeline.detection.completed` notification. */
10747
+ DetectionCompletedParams: {
10748
+ /** @description Id of the detection. */
10749
+ detectionId: components["schemas"]["DetectionId"];
10750
+ /** @description Display name of the analyzed file, if known. */
10751
+ inputFileName?: string;
10752
+ /** @description Slug of the owning pipeline. */
10753
+ pipelineSlug: components["schemas"]["Handle"];
10754
+ };
10755
+ /** @description A single day of run activity. */
10756
+ DetectionDayEntry: {
10757
+ /**
10758
+ * Format: int64
10759
+ * @description Mean completed-run duration (milliseconds) this day; omitted if none completed.
10760
+ */
10761
+ avgDurationMs?: number;
10762
+ /**
10763
+ * Format: date
10764
+ * @description The day (`YYYY-MM-DD`, UTC).
10765
+ */
10766
+ date: string;
10767
+ /**
10768
+ * Format: double
10769
+ * @description Failed / (completed + failed) for this day; omitted when no run reached a
10770
+ * terminal state that day.
10771
+ */
10772
+ errorRate?: number;
10773
+ /**
10774
+ * Format: int64
10775
+ * @description Input/prompt tokens spent by this day's runs; omitted when none used a model.
10776
+ */
10777
+ inputTokens?: number;
10778
+ /**
10779
+ * Format: int64
10780
+ * @description Output/completion tokens spent this day; omitted when none used a model.
10781
+ */
10782
+ outputTokens?: number;
10783
+ /**
10784
+ * Format: int64
10785
+ * @description 95th-percentile completed-run duration (milliseconds) this day; omitted if none.
10786
+ */
10787
+ p95DurationMs?: number;
10788
+ /**
10789
+ * Format: int64
10790
+ * @description Runs started this day (`0` on a quiet day).
10791
+ */
10792
+ runs: number;
10793
+ /**
10794
+ * Format: int64
10795
+ * @description Reported total tokens this day; omitted when none used a model.
10796
+ */
10797
+ totalTokens?: number;
10798
+ };
10799
+ /** @description Params of a `pipeline.detection.failed` notification. */
10800
+ DetectionFailedParams: {
10801
+ /** @description Id of the detection. */
10802
+ detectionId: components["schemas"]["DetectionId"];
10803
+ /** @description Failure reason, if available. */
10804
+ error?: string;
10805
+ /** @description Display name of the analyzed file, if known. */
10806
+ inputFileName?: string;
10807
+ /** @description Slug of the owning pipeline. */
10808
+ pipelineSlug: components["schemas"]["Handle"];
10809
+ };
10810
+ /** @description Opaque detection identifier (detection_<uuid>). */
10811
+ DetectionId: string;
10812
+ /** @description Structured metadata for a detection. */
10813
+ DetectionMetadata: {
10814
+ /** @description Failure reason recorded when the detection failed. */
10815
+ error?: string;
10816
+ /** @description Free-form labels attached to the detection. */
10817
+ tags?: string[];
10818
+ /**
10819
+ * @description The engine's full per-recognizer usage report (durations, per-model token
10820
+ * counts), stored opaquely for drill-down. Per-model token totals for
10821
+ * aggregation live in the `workspace_detection_usage` table; this keeps the
10822
+ * detail. Absent when the detection produced no usage.
10823
+ */
10824
+ usage?: unknown;
10825
+ };
10826
+ /**
10827
+ * @description Generic paginated response wrapper.
10828
+ *
10829
+ * Provides a consistent structure for all paginated API responses with
10830
+ * cursor-based pagination support. When `next_cursor` is present, there
10831
+ * are more items to fetch.
10832
+ */
10833
+ DetectionPage: {
10834
+ /** @description Items in this page. */
10835
+ items: components["schemas"]["Detection"][];
10836
+ /** @description Cursor to fetch the next page. Present only when more items exist. */
10837
+ nextCursor?: string;
10838
+ /**
10839
+ * Format: int64
10840
+ * @description Total count of items matching the query (if requested).
10841
+ */
10842
+ total?: number;
10843
+ };
10844
+ /** @description Path parameters for detection operations. */
10845
+ DetectionPathParams: {
10846
+ /** @description Opaque identifier of the detection. */
10847
+ detectionId: components["schemas"]["DetectionId"];
10848
+ };
10849
+ /**
10850
+ * @description The execution status of a detection (one analysis pass of a file).
10851
+ *
10852
+ * Corresponds to the `DETECTION_STATUS` PostgreSQL enum. A detection is
10853
+ * `Pending` (enqueued, no worker yet), then `Executing` (a worker is actively
10854
+ * analyzing), then settles into `Complete` (analysis done, ready to redact) or
10855
+ * `Failed`. Redaction is a separate, repeatable action over a complete
10856
+ * detection and does not change this status.
10857
+ */
10858
+ DetectionStatus: "pending" | "executing" | "complete" | "failed";
10859
+ /** @description One status's share of a workspace's runs. */
10860
+ DetectionStatusEntry: {
10861
+ /**
10862
+ * Format: int64
10863
+ * @description Number of runs in this status.
10864
+ */
10865
+ count: number;
10866
+ /** @description The run status. */
10867
+ status: components["schemas"]["DetectionStatus"];
10868
+ };
10869
+ /**
10870
+ * @description A detection's status change, broadcast on the core-NATS subject
10871
+ * [`detection_subject`].
10872
+ *
10873
+ * Fan-out to any watching SSE connections; the detection row in Postgres remains
10874
+ * the source of truth, so a missed broadcast is recoverable by re-reading it.
10875
+ */
10876
+ DetectionStatusEvent: {
10877
+ /**
10878
+ * Format: uuid
10879
+ * @description The detection whose status changed.
10880
+ */
10881
+ detectionId: string;
10882
+ /** @description The detection's new status. */
10883
+ status: components["schemas"]["DetectionStatus"];
10884
+ };
10885
+ /**
10886
+ * @description A workspace's daily run activity over a window: one point per day, dense
10887
+ * (quiet days included with `runs: 0`), ready to plot as a continuous series.
10888
+ */
10889
+ DetectionTimeSeries: {
10890
+ /** @description One entry per day in the requested window, oldest first. */
10891
+ points: components["schemas"]["DetectionDayEntry"][];
10892
+ };
10413
10893
  /**
10414
10894
  * @description Pixel dimensions of an image or any 2-D canvas.
10415
10895
  *
@@ -10599,7 +11079,7 @@ interface components {
10599
11079
  * version chain (lineage); import origin (connection and remote key) lives in
10600
11080
  * the `workspace_file_imports` satellite.
10601
11081
  */
10602
- FileKind: "original" | "redacted" | "audit";
11082
+ FileKind: "original" | "redacted" | "audit" | "review";
10603
11083
  /**
10604
11084
  * @description Generic paginated response wrapper.
10605
11085
  *
@@ -10994,10 +11474,7 @@ interface components {
10994
11474
  } & components["schemas"]["ImageRetag"]) | ({
10995
11475
  /** @constant */
10996
11476
  op: "suppress";
10997
- } & components["schemas"]["Suppress"]) | ({
10998
- /** @constant */
10999
- op: "redact";
11000
- } & components["schemas"]["ImageRedact"]);
11477
+ } & components["schemas"]["Suppress"]);
11001
11478
  /**
11002
11479
  * @description Detected piece of sensitive information within some medium.
11003
11480
  *
@@ -11169,37 +11646,6 @@ interface components {
11169
11646
  /** @description Pattern metadata (name, regex, validator, contextual flag). */
11170
11647
  pattern: components["schemas"]["PatternEvent"];
11171
11648
  };
11172
- /**
11173
- * @description Redact this entity with `action` instead of the operator the
11174
- * policy picked.
11175
- */
11176
- ImageRedact: {
11177
- /**
11178
- * @description The operator to run, typed to the entity's own modality so a
11179
- * text entity cannot be given an image operator.
11180
- */
11181
- action: components["schemas"]["ImageRedaction"];
11182
- /** @description Who made it, when the caller said. */
11183
- actor?: string;
11184
- /**
11185
- * Format: uuid
11186
- * @description The entity to redact.
11187
- */
11188
- id: string;
11189
- /**
11190
- * Format: uuid
11191
- * @description The policy whose authority the reviewer exercises. Must match
11192
- * a submitted policy's `id`.
11193
- *
11194
- * Not only for audit: it picks which per-policy pseudonym vault
11195
- * and `KeyProvider` the operator resolves against, so an
11196
- * override using `Pseudonymize` or `HmacHash` stays consistent
11197
- * with that policy's other rules.
11198
- */
11199
- policyId: string;
11200
- /** @description The rationale, when one was given. */
11201
- reason?: string;
11202
- };
11203
11649
  /** @description Operator spec a `redact` image rule carries. */
11204
11650
  ImageRedaction: {
11205
11651
  /** @constant */
@@ -11958,11 +12404,12 @@ interface components {
11958
12404
  * @description Defines the type of notification event sent to a user.
11959
12405
  *
11960
12406
  * This enumeration corresponds to the `NOTIFICATION_EVENT` PostgreSQL enum and
11961
- * is used for member, connection-sync, pipeline-run, and system notifications.
12407
+ * is used for member, connection-sync, detection, redaction, and system
12408
+ * notifications.
11962
12409
  * The values mirror the [`WebhookEvent`](super::WebhookEvent) naming for the
11963
12410
  * events the two channels share.
11964
12411
  */
11965
- NotificationEvent: "member.invited" | "member.joined" | "connection.sync.completed" | "connection.sync.failed" | "pipeline.run.analyzed" | "pipeline.run.completed" | "pipeline.run.failed";
12412
+ NotificationEvent: "member.invited" | "member.joined" | "connection.sync.completed" | "connection.sync.failed" | "pipeline.detection.completed" | "pipeline.redaction.created" | "pipeline.detection.failed";
11966
12413
  /**
11967
12414
  * @description Generic paginated response wrapper.
11968
12415
  *
@@ -12019,17 +12466,17 @@ interface components {
12019
12466
  /** @constant */
12020
12467
  type: "connection.sync.failed";
12021
12468
  } | {
12022
- data: components["schemas"]["PipelineRunAnalyzedParams"];
12469
+ data: components["schemas"]["DetectionCompletedParams"];
12023
12470
  /** @constant */
12024
- type: "pipeline.run.analyzed";
12471
+ type: "pipeline.detection.completed";
12025
12472
  } | {
12026
- data: components["schemas"]["PipelineRunCompletedParams"];
12473
+ data: components["schemas"]["RedactionCreatedParams"];
12027
12474
  /** @constant */
12028
- type: "pipeline.run.completed";
12475
+ type: "pipeline.redaction.created";
12029
12476
  } | {
12030
- data: components["schemas"]["PipelineRunFailedParams"];
12477
+ data: components["schemas"]["DetectionFailedParams"];
12031
12478
  /** @constant */
12032
- type: "pipeline.run.failed";
12479
+ type: "pipeline.detection.failed";
12033
12480
  };
12034
12481
  /** @description Response for notification settings within a workspace. */
12035
12482
  NotificationSettings: {
@@ -12212,168 +12659,42 @@ interface components {
12212
12659
  * Stored relationally in the `workspace_pipeline_policies` join table, not the JSON
12213
12660
  * definition; surfaced here so the API exposes one coherent object.
12214
12661
  */
12215
- policySlugs?: components["schemas"]["Handle"][];
12216
- };
12217
- /** @description Query parameters for filtering pipelines. */
12218
- PipelineFilter: {
12219
- /** @description Search by pipeline name (trigram similarity). */
12220
- search?: string;
12221
- /** @description Filter by pipeline status. */
12222
- status?: components["schemas"]["PipelineStatus"];
12223
- };
12224
- /** @description Path parameters for pipeline operations. */
12225
- PipelinePathParams: {
12226
- /** @description URL slug of the pipeline, unique within its workspace. */
12227
- pipelineSlug: string;
12228
- };
12229
- /**
12230
- * @description Response type for a pipeline run.
12231
- *
12232
- * A run is addressed by its own opaque id; the owning pipeline and workspace
12233
- * slugs are carried for context.
12234
- */
12235
- PipelineRun: {
12236
- /**
12237
- * Format: date-time
12238
- * @description When the run completed.
12239
- */
12240
- completedAt?: string;
12241
- /** @description Human-readable failure reason, present only when the run `failed`. */
12242
- error?: string;
12243
- /** @description Opaque identifier of the run. */
12244
- id: components["schemas"]["RunId"];
12245
- /**
12246
- * Format: uuid
12247
- * @description Source document this run analyzes / redacts.
12248
- */
12249
- inputFileId: string;
12250
- /**
12251
- * @description Display name of the source document, for showing the run without a
12252
- * separate file lookup. `None` if the file was removed (e.g. by retention).
12253
- */
12254
- inputFileName?: string;
12255
- /** @description Non-encrypted metadata for filtering/display. */
12256
- metadata: components["schemas"]["RunMetadata"];
12257
- /**
12258
- * Format: uuid
12259
- * @description Redacted document produced by the run, once it completes.
12260
- */
12261
- outputFileId?: string;
12262
- /** @description Display name of the redacted output, once the run completes. */
12263
- outputFileName?: string;
12264
- /** @description Handle of the pipeline this run belongs to. */
12265
- pipelineSlug: components["schemas"]["Handle"];
12266
- /**
12267
- * Format: date-time
12268
- * @description When the run started.
12269
- */
12270
- startedAt: string;
12271
- /**
12272
- * @description Current run status.
12273
- *
12274
- * The detections are available to fetch from the run's `detections`
12275
- * endpoint once this reaches `analyzed`.
12276
- */
12277
- status: components["schemas"]["PipelineRunStatus"];
12278
- /** @description How the run was triggered. */
12279
- triggerType: components["schemas"]["PipelineTriggerType"];
12280
- /** @description Account that triggered the run. */
12281
- triggeredBy: components["schemas"]["AccountRef"];
12282
- /** @description Handle of the workspace this run belongs to. */
12283
- workspaceSlug: components["schemas"]["Handle"];
12284
- };
12285
- /** @description Params of a pipeline-run activity (`pipeline.run.*`). */
12286
- PipelineRunActivityParams: {
12287
- /** @description Slug of the owning pipeline. */
12288
- pipelineSlug: components["schemas"]["Handle"];
12289
- /** @description Id of the run. */
12290
- runId: components["schemas"]["RunId"];
12291
- };
12292
- /** @description Params of a `pipeline.run.analyzed` notification. */
12293
- PipelineRunAnalyzedParams: {
12294
- /** @description Display name of the analyzed file, if known. */
12295
- inputFileName?: string;
12296
- /** @description Slug of the owning pipeline. */
12297
- pipelineSlug: components["schemas"]["Handle"];
12298
- /** @description Id of the run. */
12299
- runId: components["schemas"]["RunId"];
12300
- };
12301
- /** @description Params of a `pipeline.run.completed` notification. */
12302
- PipelineRunCompletedParams: {
12303
- /** @description Display name of the analyzed file, if known. */
12304
- inputFileName?: string;
12305
- /** @description Slug of the owning pipeline. */
12306
- pipelineSlug: components["schemas"]["Handle"];
12307
- /** @description Id of the run. */
12308
- runId: components["schemas"]["RunId"];
12309
- };
12310
- /** @description Params of a `pipeline.run.failed` notification. */
12311
- PipelineRunFailedParams: {
12312
- /** @description Failure reason, if available. */
12313
- error?: string;
12314
- /** @description Display name of the analyzed file, if known. */
12315
- inputFileName?: string;
12316
- /** @description Slug of the owning pipeline. */
12317
- pipelineSlug: components["schemas"]["Handle"];
12318
- /** @description Id of the run. */
12319
- runId: components["schemas"]["RunId"];
12320
- };
12321
- /**
12322
- * @description Generic paginated response wrapper.
12323
- *
12324
- * Provides a consistent structure for all paginated API responses with
12325
- * cursor-based pagination support. When `next_cursor` is present, there
12326
- * are more items to fetch.
12327
- */
12328
- PipelineRunPage: {
12329
- /** @description Items in this page. */
12330
- items: components["schemas"]["PipelineRun"][];
12331
- /** @description Cursor to fetch the next page. Present only when more items exist. */
12332
- nextCursor?: string;
12333
- /**
12334
- * Format: int64
12335
- * @description Total count of items matching the query (if requested).
12336
- */
12337
- total?: number;
12338
- };
12339
- /** @description Path parameters for pipeline run operations. */
12340
- PipelineRunPathParams: {
12341
- /** @description Opaque identifier of the run. */
12342
- runId: components["schemas"]["RunId"];
12343
- };
12344
- /**
12345
- * @description Defines the execution status of a pipeline run.
12346
- *
12347
- * This enumeration corresponds to the `PIPELINE_RUN_STATUS` PostgreSQL enum and is used
12348
- * to track the current state of a pipeline execution.
12349
- *
12350
- * The detect phase has two states: `Queued` (the run is enqueued but no worker
12351
- * has begun) and `Analyzing` (a worker is actively analyzing). They settle into
12352
- * `Analyzed` (detection done, awaiting review), then `Completed` after redaction.
12353
- */
12354
- PipelineRunStatus: "queued" | "analyzing" | "analyzed" | "completed" | "failed" | "cancelled";
12662
+ policySlugs?: components["schemas"]["Handle"][];
12663
+ };
12355
12664
  /**
12356
- * @description Query parameters for listing a single pipeline's runs.
12665
+ * @description Query parameters for listing a single pipeline's detections.
12357
12666
  *
12358
12667
  * The pipeline is fixed by the route, so it narrows only by status, file,
12359
12668
  * trigger account, and trigger type.
12360
12669
  */
12361
- PipelineRunsQuery: {
12670
+ PipelineDetectionsQuery: {
12362
12671
  /**
12363
12672
  * Format: uuid
12364
- * @description Filter by the source file the run analyzes.
12673
+ * @description Filter by the source file the detection analyzes.
12365
12674
  */
12366
12675
  fileId?: string;
12367
- /** @description Filter by run status. */
12368
- status?: components["schemas"]["PipelineRunStatus"];
12369
- /** @description Filter by how the run was initiated (user vs system). */
12676
+ /** @description Filter by detection status. */
12677
+ status?: components["schemas"]["DetectionStatus"];
12678
+ /** @description Filter by how the detection was initiated (user vs system). */
12370
12679
  triggerType?: components["schemas"]["PipelineTriggerType"];
12371
12680
  /**
12372
12681
  * Format: uuid
12373
- * @description Filter by the account that triggered the run.
12682
+ * @description Filter by the account that triggered the detection.
12374
12683
  */
12375
12684
  triggeredBy?: string;
12376
12685
  };
12686
+ /** @description Query parameters for filtering pipelines. */
12687
+ PipelineFilter: {
12688
+ /** @description Search by pipeline name (trigram similarity). */
12689
+ search?: string;
12690
+ /** @description Filter by pipeline status. */
12691
+ status?: components["schemas"]["PipelineStatus"];
12692
+ };
12693
+ /** @description Path parameters for pipeline operations. */
12694
+ PipelinePathParams: {
12695
+ /** @description URL slug of the pipeline, unique within its workspace. */
12696
+ pipelineSlug: string;
12697
+ };
12377
12698
  /**
12378
12699
  * @description Defines the lifecycle status of a pipeline definition.
12379
12700
  *
@@ -12917,6 +13238,21 @@ interface components {
12917
13238
  /** @description Recognizer's version at the time it ran. */
12918
13239
  version: string;
12919
13240
  };
13241
+ /**
13242
+ * @description Request payload to redact a detection.
13243
+ *
13244
+ * The reviewer's edits layer over the detection's analysis before redaction:
13245
+ * suppress a false positive, retag a detection, or add one the analysis missed.
13246
+ * Omit `edits` to redact with the policy decisions exactly as detected. Each
13247
+ * redact request produces a new redaction.
13248
+ */
13249
+ RedactDetection: {
13250
+ /**
13251
+ * @description Reviewer edits to apply before redaction, grouped by modality. Omit to
13252
+ * redact with the policy decisions exactly as detected.
13253
+ */
13254
+ edits?: components["schemas"]["EditSet"];
13255
+ };
12920
13256
  /** @description An operator hid the entity. */
12921
13257
  Redaction: {
12922
13258
  /**
@@ -12951,6 +13287,87 @@ interface components {
12951
13287
  */
12952
13288
  span_length?: number;
12953
13289
  };
13290
+ /** @description Params of a redaction activity (`pipeline.redaction.*`). */
13291
+ RedactionActivityParams: {
13292
+ /** @description Slug of the owning pipeline. */
13293
+ pipelineSlug: components["schemas"]["Handle"];
13294
+ /** @description Id of the redaction. */
13295
+ redactionId: components["schemas"]["RedactionId"];
13296
+ };
13297
+ /** @description Params of a `pipeline.redaction.created` notification. */
13298
+ RedactionCreatedParams: {
13299
+ /** @description Id of the detection the redaction was produced from. */
13300
+ detectionId: components["schemas"]["DetectionId"];
13301
+ /** @description Display name of the redacted file, if known. */
13302
+ inputFileName?: string;
13303
+ /** @description Slug of the owning pipeline. */
13304
+ pipelineSlug: components["schemas"]["Handle"];
13305
+ /** @description Id of the redaction. */
13306
+ redactionId: components["schemas"]["RedactionId"];
13307
+ };
13308
+ /** @description Opaque redaction identifier (redaction_<uuid>). */
13309
+ RedactionId: string;
13310
+ /**
13311
+ * @description Path parameters for a redaction.
13312
+ *
13313
+ * The redaction id is globally unique, so a redaction is addressed by id alone
13314
+ * and resolved within the workspace by the query.
13315
+ */
13316
+ RedactionPathParams: {
13317
+ /** @description Opaque identifier of the redaction. */
13318
+ redactionId: components["schemas"]["RedactionId"];
13319
+ };
13320
+ /**
13321
+ * @description Response type for a redaction.
13322
+ *
13323
+ * A redaction is one redact pass over a detection, produced with a specific set
13324
+ * of reviewer edits. It owns the redacted output document (downloadable through
13325
+ * the normal file endpoints) and a review audit recording what was redacted and
13326
+ * why (fetched from the redaction's `review` endpoint).
13327
+ *
13328
+ * Named `RedactionResult` rather than `Redaction` because the engine's audit
13329
+ * schema already carries a `Redaction` (an audit event), and the two must not
13330
+ * collide in the generated OpenAPI.
13331
+ */
13332
+ RedactionResult: {
13333
+ /**
13334
+ * Format: date-time
13335
+ * @description When the redaction was created.
13336
+ */
13337
+ createdAt: string;
13338
+ /** @description The detection this redaction was produced from. */
13339
+ detectionId: components["schemas"]["DetectionId"];
13340
+ /** @description Opaque identifier of the redaction. */
13341
+ id: components["schemas"]["RedactionId"];
13342
+ /**
13343
+ * Format: uuid
13344
+ * @description Redacted output document this redaction produced. `None` only if the file
13345
+ * was removed (e.g. by retention).
13346
+ */
13347
+ outputFileId?: string;
13348
+ /** @description Account that requested the redaction. */
13349
+ requestedBy: components["schemas"]["AccountRef"];
13350
+ /** @description Handle of the workspace this redaction belongs to. */
13351
+ workspaceSlug: components["schemas"]["Handle"];
13352
+ };
13353
+ /**
13354
+ * @description Generic paginated response wrapper.
13355
+ *
13356
+ * Provides a consistent structure for all paginated API responses with
13357
+ * cursor-based pagination support. When `next_cursor` is present, there
13358
+ * are more items to fetch.
13359
+ */
13360
+ RedactionResultPage: {
13361
+ /** @description Items in this page. */
13362
+ items: components["schemas"]["RedactionResult"][];
13363
+ /** @description Cursor to fetch the next page. Present only when more items exist. */
13364
+ nextCursor?: string;
13365
+ /**
13366
+ * Format: int64
13367
+ * @description Total count of items matching the query (if requested).
13368
+ */
13369
+ total?: number;
13370
+ };
12954
13371
  /**
12955
13372
  * @description Public view of one recognizer in the engine's NER or LLM
12956
13373
  * lineup.
@@ -13114,129 +13531,6 @@ interface components {
13114
13531
  } | {
13115
13532
  tag: string;
13116
13533
  } | "predicate" | "fallback";
13117
- /** @description Pipeline-run health for a workspace. */
13118
- RunAnalytics: {
13119
- /**
13120
- * Format: int64
13121
- * @description Mean completed-run duration in milliseconds; omitted until a run completes.
13122
- */
13123
- avgDurationMs?: number;
13124
- /**
13125
- * @description Per-status breakdown, one entry per run status (zero-filled), in a stable
13126
- * order.
13127
- */
13128
- byStatus: components["schemas"]["RunStatusEntry"][];
13129
- /**
13130
- * Format: double
13131
- * @description Failed / (completed + failed). Omitted when no run has reached a terminal
13132
- * state (genuinely no signal, not zero).
13133
- */
13134
- errorRate?: number;
13135
- /**
13136
- * Format: int64
13137
- * @description 95th-percentile completed-run duration in milliseconds; omitted until a run
13138
- * completes.
13139
- */
13140
- p95DurationMs?: number;
13141
- /**
13142
- * Format: int64
13143
- * @description Total number of runs.
13144
- */
13145
- total: number;
13146
- };
13147
- /** @description A single day of run activity. */
13148
- RunDayEntry: {
13149
- /**
13150
- * Format: int64
13151
- * @description Mean completed-run duration (milliseconds) this day; omitted if none completed.
13152
- */
13153
- avgDurationMs?: number;
13154
- /**
13155
- * Format: date
13156
- * @description The day (`YYYY-MM-DD`, UTC).
13157
- */
13158
- date: string;
13159
- /**
13160
- * Format: double
13161
- * @description Failed / (completed + failed) for this day; omitted when no run reached a
13162
- * terminal state that day.
13163
- */
13164
- errorRate?: number;
13165
- /**
13166
- * Format: int64
13167
- * @description Input/prompt tokens spent by this day's runs; omitted when none used a model.
13168
- */
13169
- inputTokens?: number;
13170
- /**
13171
- * Format: int64
13172
- * @description Output/completion tokens spent this day; omitted when none used a model.
13173
- */
13174
- outputTokens?: number;
13175
- /**
13176
- * Format: int64
13177
- * @description 95th-percentile completed-run duration (milliseconds) this day; omitted if none.
13178
- */
13179
- p95DurationMs?: number;
13180
- /**
13181
- * Format: int64
13182
- * @description Runs started this day (`0` on a quiet day).
13183
- */
13184
- runs: number;
13185
- /**
13186
- * Format: int64
13187
- * @description Reported total tokens this day; omitted when none used a model.
13188
- */
13189
- totalTokens?: number;
13190
- };
13191
- /** @description Opaque run identifier (run_<uuid>). */
13192
- RunId: string;
13193
- /** @description Structured metadata for a pipeline run. */
13194
- RunMetadata: {
13195
- /** @description Failure reason recorded when the run failed. */
13196
- error?: string;
13197
- /** @description Free-form labels attached to the run. */
13198
- tags?: string[];
13199
- /**
13200
- * @description The engine's full per-recognizer usage report (durations, per-model token
13201
- * counts), stored opaquely for drill-down. Per-model token totals for
13202
- * aggregation live in the `workspace_pipeline_run_usage` table; this keeps
13203
- * the detail. Absent when the run produced no usage.
13204
- */
13205
- usage?: unknown;
13206
- };
13207
- /** @description One status's share of a workspace's runs. */
13208
- RunStatusEntry: {
13209
- /**
13210
- * Format: int64
13211
- * @description Number of runs in this status.
13212
- */
13213
- count: number;
13214
- /** @description The run status. */
13215
- status: components["schemas"]["PipelineRunStatus"];
13216
- };
13217
- /**
13218
- * @description A run's status change, broadcast on the core-NATS subject [`run_subject`].
13219
- *
13220
- * Fan-out to any watching SSE connections; the run row in Postgres remains the
13221
- * source of truth, so a missed broadcast is recoverable by re-reading the run.
13222
- */
13223
- RunStatusEvent: {
13224
- /**
13225
- * Format: uuid
13226
- * @description The run whose status changed.
13227
- */
13228
- runId: string;
13229
- /** @description The run's new status. */
13230
- status: components["schemas"]["PipelineRunStatus"];
13231
- };
13232
- /**
13233
- * @description A workspace's daily run activity over a window: one point per day, dense
13234
- * (quiet days included with `runs: 0`), ready to plot as a continuous series.
13235
- */
13236
- RunTimeSeries: {
13237
- /** @description One entry per day in the requested window, oldest first. */
13238
- points: components["schemas"]["RunDayEntry"][];
13239
- };
13240
13534
  /**
13241
13535
  * @description Typed credentials for S3-compatible provider.
13242
13536
  *
@@ -13812,10 +14106,7 @@ interface components {
13812
14106
  } & components["schemas"]["TabularRetag"]) | ({
13813
14107
  /** @constant */
13814
14108
  op: "suppress";
13815
- } & components["schemas"]["Suppress"]) | ({
13816
- /** @constant */
13817
- op: "redact";
13818
- } & components["schemas"]["TabularRedact"]);
14109
+ } & components["schemas"]["Suppress"]);
13819
14110
  /**
13820
14111
  * @description Detected piece of sensitive information within some medium.
13821
14112
  *
@@ -14012,37 +14303,6 @@ interface components {
14012
14303
  /** @description Pattern metadata (name, regex, validator, contextual flag). */
14013
14304
  pattern: components["schemas"]["PatternEvent"];
14014
14305
  };
14015
- /**
14016
- * @description Redact this entity with `action` instead of the operator the
14017
- * policy picked.
14018
- */
14019
- TabularRedact: {
14020
- /**
14021
- * @description The operator to run, typed to the entity's own modality so a
14022
- * text entity cannot be given an image operator.
14023
- */
14024
- action: components["schemas"]["TabularRedaction"];
14025
- /** @description Who made it, when the caller said. */
14026
- actor?: string;
14027
- /**
14028
- * Format: uuid
14029
- * @description The entity to redact.
14030
- */
14031
- id: string;
14032
- /**
14033
- * Format: uuid
14034
- * @description The policy whose authority the reviewer exercises. Must match
14035
- * a submitted policy's `id`.
14036
- *
14037
- * Not only for audit: it picks which per-policy pseudonym vault
14038
- * and `KeyProvider` the operator resolves against, so an
14039
- * override using `Pseudonymize` or `HmacHash` stays consistent
14040
- * with that policy's other rules.
14041
- */
14042
- policyId: string;
14043
- /** @description The rationale, when one was given. */
14044
- reason?: string;
14045
- };
14046
14306
  /** @description Operator spec a `redact` tabular rule carries. */
14047
14307
  TabularRedaction: {
14048
14308
  /** @constant */
@@ -14427,10 +14687,7 @@ interface components {
14427
14687
  } & components["schemas"]["TextRetag"]) | ({
14428
14688
  /** @constant */
14429
14689
  op: "suppress";
14430
- } & components["schemas"]["Suppress"]) | ({
14431
- /** @constant */
14432
- op: "redact";
14433
- } & components["schemas"]["TextRedact"]);
14690
+ } & components["schemas"]["Suppress"]);
14434
14691
  /**
14435
14692
  * @description Detected piece of sensitive information within some medium.
14436
14693
  *
@@ -14606,37 +14863,6 @@ interface components {
14606
14863
  /** @description Pattern metadata (name, regex, validator, contextual flag). */
14607
14864
  pattern: components["schemas"]["PatternEvent"];
14608
14865
  };
14609
- /**
14610
- * @description Redact this entity with `action` instead of the operator the
14611
- * policy picked.
14612
- */
14613
- TextRedact: {
14614
- /**
14615
- * @description The operator to run, typed to the entity's own modality so a
14616
- * text entity cannot be given an image operator.
14617
- */
14618
- action: components["schemas"]["TextRedaction"];
14619
- /** @description Who made it, when the caller said. */
14620
- actor?: string;
14621
- /**
14622
- * Format: uuid
14623
- * @description The entity to redact.
14624
- */
14625
- id: string;
14626
- /**
14627
- * Format: uuid
14628
- * @description The policy whose authority the reviewer exercises. Must match
14629
- * a submitted policy's `id`.
14630
- *
14631
- * Not only for audit: it picks which per-policy pseudonym vault
14632
- * and `KeyProvider` the operator resolves against, so an
14633
- * override using `Pseudonymize` or `HmacHash` stays consistent
14634
- * with that policy's other rules.
14635
- */
14636
- policyId: string;
14637
- /** @description The rationale, when one was given. */
14638
- reason?: string;
14639
- };
14640
14866
  /** @description Operator spec a `redact` text rule carries. */
14641
14867
  TextRedaction: {
14642
14868
  /** @constant */
@@ -15254,7 +15480,7 @@ interface components {
15254
15480
  * This enumeration corresponds to the `WEBHOOK_EVENT` PostgreSQL enum and is used
15255
15481
  * to configure which events a webhook should receive notifications for.
15256
15482
  */
15257
- 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.analyzed" | "pipeline.run.completed" | "pipeline.run.failed" | "policy.created" | "policy.updated" | "policy.deleted";
15483
+ 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.detection.started" | "pipeline.detection.completed" | "pipeline.detection.failed" | "pipeline.redaction.created" | "policy.created" | "policy.updated" | "policy.deleted";
15258
15484
  /** @description Opaque whk identifier (whk_<uuid>). */
15259
15485
  WebhookId: string;
15260
15486
  /**
@@ -15338,13 +15564,39 @@ interface components {
15338
15564
  * the inference tokens they spent.
15339
15565
  */
15340
15566
  WorkspaceAnalytics: {
15341
- /** @description Pipeline-run health: volume, status mix, and durations. */
15342
- runs: components["schemas"]["RunAnalytics"];
15567
+ /** @description Detection health: volume, status mix, and durations. */
15568
+ detections: components["schemas"]["DetectionAnalytics"];
15343
15569
  /** @description Stored-file totals and their per-kind breakdown. */
15344
15570
  storage: components["schemas"]["StorageAnalytics"];
15345
15571
  /** @description Inference token usage: workspace totals and a per-model breakdown. */
15346
15572
  usage: components["schemas"]["UsageAnalytics"];
15347
15573
  };
15574
+ /**
15575
+ * @description Query parameters for listing detections across a workspace.
15576
+ *
15577
+ * Every field is an optional filter; unset fields impose no constraint.
15578
+ */
15579
+ WorkspaceDetectionsQuery: {
15580
+ /**
15581
+ * Format: uuid
15582
+ * @description Filter by the source file the detection analyzes.
15583
+ */
15584
+ fileId?: string;
15585
+ /**
15586
+ * Format: uuid
15587
+ * @description Filter by the owning pipeline.
15588
+ */
15589
+ pipelineId?: string;
15590
+ /** @description Filter by detection status. */
15591
+ status?: components["schemas"]["DetectionStatus"];
15592
+ /** @description Filter by how the detection was initiated (user vs system). */
15593
+ triggerType?: components["schemas"]["PipelineTriggerType"];
15594
+ /**
15595
+ * Format: uuid
15596
+ * @description Filter by the account that triggered the detection.
15597
+ */
15598
+ triggeredBy?: string;
15599
+ };
15348
15600
  /** @description Path parameters for file operations within a workspace context. */
15349
15601
  WorkspaceFilePathParams: {
15350
15602
  /**
@@ -15378,32 +15630,6 @@ interface components {
15378
15630
  * hierarchical access control for workspace members with clearly defined capabilities.
15379
15631
  */
15380
15632
  WorkspaceRole: "owner" | "admin" | "member" | "guest";
15381
- /**
15382
- * @description Query parameters for listing runs across a workspace.
15383
- *
15384
- * Every field is an optional filter; unset fields impose no constraint.
15385
- */
15386
- WorkspaceRunsQuery: {
15387
- /**
15388
- * Format: uuid
15389
- * @description Filter by the source file the run analyzes.
15390
- */
15391
- fileId?: string;
15392
- /**
15393
- * Format: uuid
15394
- * @description Filter by the owning pipeline.
15395
- */
15396
- pipelineId?: string;
15397
- /** @description Filter by run status. */
15398
- status?: components["schemas"]["PipelineRunStatus"];
15399
- /** @description Filter by how the run was initiated (user vs system). */
15400
- triggerType?: components["schemas"]["PipelineTriggerType"];
15401
- /**
15402
- * Format: uuid
15403
- * @description Filter by the account that triggered the run.
15404
- */
15405
- triggeredBy?: string;
15406
- };
15407
15633
  /** @description Typed workspace settings, the JSON stored in the `workspaces.settings` column. */
15408
15634
  WorkspaceSettings: {
15409
15635
  /**
@@ -15474,7 +15700,8 @@ type MemberActivityParams = Schemas$21["MemberActivityParams"];
15474
15700
  type InviteActivityParams = Schemas$21["InviteActivityParams"];
15475
15701
  type ConnectionActivityParams = Schemas$21["ConnectionActivityParams"];
15476
15702
  type PipelineActivityParams = Schemas$21["PipelineActivityParams"];
15477
- type PipelineRunActivityParams = Schemas$21["PipelineRunActivityParams"];
15703
+ type DetectionActivityParams = Schemas$21["DetectionActivityParams"];
15704
+ type RedactionActivityParams = Schemas$21["RedactionActivityParams"];
15478
15705
  type PolicyActivityParams = Schemas$21["PolicyActivityParams"];
15479
15706
  type FileActivityParams = Schemas$21["FileActivityParams"];
15480
15707
  type WebhookActivityParams = Schemas$21["WebhookActivityParams"];
@@ -15484,8 +15711,8 @@ type Schemas$20 = components["schemas"];
15484
15711
  type WorkspaceAnalytics = Schemas$20["WorkspaceAnalytics"];
15485
15712
  type StorageAnalytics = Schemas$20["StorageAnalytics"];
15486
15713
  type StorageKindEntry = Schemas$20["StorageKindEntry"];
15487
- type RunAnalytics = Schemas$20["RunAnalytics"];
15488
- type RunStatusEntry = Schemas$20["RunStatusEntry"];
15714
+ type DetectionAnalytics = Schemas$20["DetectionAnalytics"];
15715
+ type DetectionStatusEntry = Schemas$20["DetectionStatusEntry"];
15489
15716
  type UsageAnalytics = Schemas$20["UsageAnalytics"];
15490
15717
  type ModelUsage = Schemas$20["ModelUsage"];
15491
15718
  type ModelUsageEntry = Schemas$20["ModelUsageEntry"];
@@ -15494,8 +15721,8 @@ type UsageReport = Schemas$20["UsageReport"];
15494
15721
  type TokenCounts = Schemas$20["TokenCounts"];
15495
15722
  type ProviderType = Schemas$20["ProviderType"];
15496
15723
  type RecognizerId = Schemas$20["RecognizerId"];
15497
- type RunTimeSeries = Schemas$20["RunTimeSeries"];
15498
- type RunDayEntry = Schemas$20["RunDayEntry"];
15724
+ type DetectionTimeSeries = Schemas$20["DetectionTimeSeries"];
15725
+ type DetectionDayEntry = Schemas$20["DetectionDayEntry"];
15499
15726
  //#endregion
15500
15727
  //#region src/datatypes/api-token.d.ts
15501
15728
  type Schemas$19 = components["schemas"];
@@ -15555,7 +15782,6 @@ type TextPattern = Schemas$18["TextPattern"];
15555
15782
  type TextManual = Schemas$18["TextManual"];
15556
15783
  type TextEdit = Schemas$18["TextEdit"];
15557
15784
  type TextAdd = Schemas$18["TextAdd"];
15558
- type TextRedact = Schemas$18["TextRedact"];
15559
15785
  type TextRefinement = Schemas$18["TextRefinement"];
15560
15786
  type TextRetag = Schemas$18["TextRetag"];
15561
15787
  type ImageEntity = Schemas$18["ImageEntity"];
@@ -15570,7 +15796,6 @@ type ImagePattern = Schemas$18["ImagePattern"];
15570
15796
  type ImageManual = Schemas$18["ImageManual"];
15571
15797
  type ImageEdit = Schemas$18["ImageEdit"];
15572
15798
  type ImageAdd = Schemas$18["ImageAdd"];
15573
- type ImageRedact = Schemas$18["ImageRedact"];
15574
15799
  type ImageRefinement = Schemas$18["ImageRefinement"];
15575
15800
  type ImageRetag = Schemas$18["ImageRetag"];
15576
15801
  type AudioEntity = Schemas$18["AudioEntity"];
@@ -15585,7 +15810,6 @@ type AudioPattern = Schemas$18["AudioPattern"];
15585
15810
  type AudioManual = Schemas$18["AudioManual"];
15586
15811
  type AudioEdit = Schemas$18["AudioEdit"];
15587
15812
  type AudioAdd = Schemas$18["AudioAdd"];
15588
- type AudioRedact = Schemas$18["AudioRedact"];
15589
15813
  type AudioRefinement = Schemas$18["AudioRefinement"];
15590
15814
  type AudioRetag = Schemas$18["AudioRetag"];
15591
15815
  type TabularEntity = Schemas$18["TabularEntity"];
@@ -15599,7 +15823,6 @@ type TabularPattern = Schemas$18["TabularPattern"];
15599
15823
  type TabularManual = Schemas$18["TabularManual"];
15600
15824
  type TabularEdit = Schemas$18["TabularEdit"];
15601
15825
  type TabularAdd = Schemas$18["TabularAdd"];
15602
- type TabularRedact = Schemas$18["TabularRedact"];
15603
15826
  type TabularRefinement = Schemas$18["TabularRefinement"];
15604
15827
  type TabularRetag = Schemas$18["TabularRetag"];
15605
15828
  //#endregion
@@ -15654,142 +15877,147 @@ type OpenAiCredentials = Schemas$14["OpenAiCredentials"];
15654
15877
  type SyncSchedule = Schemas$14["SyncSchedule"];
15655
15878
  type SyncScheduleInput = Schemas$14["SyncScheduleInput"];
15656
15879
  //#endregion
15657
- //#region src/datatypes/error.d.ts
15880
+ //#region src/datatypes/detection.d.ts
15658
15881
  type Schemas$13 = components["schemas"];
15659
- type ErrorResponse = Schemas$13["ErrorResponse"];
15660
- type ValidationErrorDetail = Schemas$13["ValidationErrorDetail"];
15882
+ type DetectionId = Schemas$13["DetectionId"];
15883
+ type Detection = Schemas$13["Detection"];
15884
+ type DetectionMetadata = Schemas$13["DetectionMetadata"];
15885
+ type CreateDetection = Schemas$13["CreateDetection"];
15886
+ type DetectionStatus = Schemas$13["DetectionStatus"];
15887
+ type DetectionPage = Schemas$13["DetectionPage"];
15888
+ type WorkspaceDetectionsQuery = Schemas$13["WorkspaceDetectionsQuery"];
15889
+ type PipelineDetectionsQuery = Schemas$13["PipelineDetectionsQuery"];
15890
+ type DetectionStatusEvent = Schemas$13["DetectionStatusEvent"];
15891
+ type RedactionId = Schemas$13["RedactionId"];
15892
+ type RedactDetection = Schemas$13["RedactDetection"];
15893
+ type RedactionResult = Schemas$13["RedactionResult"];
15894
+ type RedactionResultPage = Schemas$13["RedactionResultPage"];
15661
15895
  //#endregion
15662
- //#region src/datatypes/export.d.ts
15896
+ //#region src/datatypes/error.d.ts
15663
15897
  type Schemas$12 = components["schemas"];
15664
- type ExportFormat = Schemas$12["ExportFormat"];
15665
- type ExportQuery = Schemas$12["ExportQuery"];
15666
- type DateWindow = Schemas$12["DateWindow"];
15898
+ type ErrorResponse = Schemas$12["ErrorResponse"];
15899
+ type ValidationErrorDetail = Schemas$12["ValidationErrorDetail"];
15667
15900
  //#endregion
15668
- //#region src/datatypes/file.d.ts
15901
+ //#region src/datatypes/export.d.ts
15669
15902
  type Schemas$11 = components["schemas"];
15670
- type File = Schemas$11["File"];
15671
- type UpdateFile = Schemas$11["UpdateFile"];
15672
- type FileKind = Schemas$11["FileKind"];
15673
- type FormatToken = Schemas$11["FormatToken"];
15674
- type ModalityToken = Schemas$11["ModalityToken"];
15675
- type ListFiles = Schemas$11["ListFiles"];
15676
- type FilePage = Schemas$11["FilePage"];
15903
+ type ExportFormat = Schemas$11["ExportFormat"];
15904
+ type ExportQuery = Schemas$11["ExportQuery"];
15905
+ type DateWindow = Schemas$11["DateWindow"];
15677
15906
  //#endregion
15678
- //#region src/datatypes/health.d.ts
15907
+ //#region src/datatypes/file.d.ts
15679
15908
  type Schemas$10 = components["schemas"];
15680
- type Health = Schemas$10["Health"];
15681
- type HealthStatus = Schemas$10["HealthStatus"];
15682
- type ComponentHealth = Schemas$10["ComponentHealth"];
15909
+ type File = Schemas$10["File"];
15910
+ type UpdateFile = Schemas$10["UpdateFile"];
15911
+ type FileKind = Schemas$10["FileKind"];
15912
+ type FormatToken = Schemas$10["FormatToken"];
15913
+ type ModalityToken = Schemas$10["ModalityToken"];
15914
+ type ListFiles = Schemas$10["ListFiles"];
15915
+ type FilePage = Schemas$10["FilePage"];
15683
15916
  //#endregion
15684
- //#region src/datatypes/invite.d.ts
15917
+ //#region src/datatypes/health.d.ts
15685
15918
  type Schemas$9 = components["schemas"];
15686
- type Invite = Schemas$9["Invite"];
15687
- type InviteSent = Schemas$9["InviteSent"];
15688
- type CreateInvite = Schemas$9["CreateInvite"];
15689
- type ReplyInvite = Schemas$9["ReplyInvite"];
15690
- type GenerateInviteCode = Schemas$9["GenerateInviteCode"];
15691
- type InviteCode = Schemas$9["InviteCode"];
15692
- type InviteStatus = Schemas$9["InviteStatus"];
15693
- type InviteExpiration = Schemas$9["InviteExpiration"];
15694
- type ListInvites = Schemas$9["ListInvites"];
15695
- type InviteSortField = Schemas$9["InviteSortField"];
15696
- type SortOrder = Schemas$9["SortOrder"];
15697
- type InvitePreview = Schemas$9["InvitePreview"];
15698
- type InvitePage = Schemas$9["InvitePage"];
15919
+ type Health = Schemas$9["Health"];
15920
+ type HealthStatus = Schemas$9["HealthStatus"];
15921
+ type ComponentHealth = Schemas$9["ComponentHealth"];
15699
15922
  //#endregion
15700
- //#region src/datatypes/member.d.ts
15923
+ //#region src/datatypes/invite.d.ts
15701
15924
  type Schemas$8 = components["schemas"];
15702
- type Member = Schemas$8["Member"];
15703
- type UpdateMember = Schemas$8["UpdateMember"];
15704
- type ListMembers = Schemas$8["ListMembers"];
15705
- type MemberSortField = Schemas$8["MemberSortField"];
15706
- type MemberPage = Schemas$8["MemberPage"];
15925
+ type Invite = Schemas$8["Invite"];
15926
+ type InviteSent = Schemas$8["InviteSent"];
15927
+ type CreateInvite = Schemas$8["CreateInvite"];
15928
+ type ReplyInvite = Schemas$8["ReplyInvite"];
15929
+ type GenerateInviteCode = Schemas$8["GenerateInviteCode"];
15930
+ type InviteCode = Schemas$8["InviteCode"];
15931
+ type InviteStatus = Schemas$8["InviteStatus"];
15932
+ type InviteExpiration = Schemas$8["InviteExpiration"];
15933
+ type ListInvites = Schemas$8["ListInvites"];
15934
+ type InviteSortField = Schemas$8["InviteSortField"];
15935
+ type SortOrder = Schemas$8["SortOrder"];
15936
+ type InvitePreview = Schemas$8["InvitePreview"];
15937
+ type InvitePage = Schemas$8["InvitePage"];
15707
15938
  //#endregion
15708
- //#region src/datatypes/notification.d.ts
15939
+ //#region src/datatypes/member.d.ts
15709
15940
  type Schemas$7 = components["schemas"];
15710
- type Notification = Schemas$7["Notification"];
15711
- type NotificationEvent = Schemas$7["NotificationEvent"];
15712
- type NotificationSettings = Schemas$7["NotificationSettings"];
15713
- type UpdateNotificationSettings = Schemas$7["UpdateNotificationSettings"];
15714
- type UnreadStatus = Schemas$7["UnreadStatus"];
15715
- type NotificationPage = Schemas$7["NotificationPage"];
15716
- type MarkedReadStatus = Schemas$7["MarkedReadStatus"];
15717
- type UnreadCountEvent = Schemas$7["UnreadCountEvent"];
15718
- type NotificationPayload = Schemas$7["NotificationPayload"];
15719
- type MemberInvitedParams = Schemas$7["MemberInvitedParams"];
15720
- type MemberJoinedParams = Schemas$7["MemberJoinedParams"];
15721
- type ConnectionSyncCompletedParams = Schemas$7["ConnectionSyncCompletedParams"];
15722
- type ConnectionSyncFailedParams = Schemas$7["ConnectionSyncFailedParams"];
15723
- type PipelineRunAnalyzedParams = Schemas$7["PipelineRunAnalyzedParams"];
15724
- type PipelineRunCompletedParams = Schemas$7["PipelineRunCompletedParams"];
15725
- type PipelineRunFailedParams = Schemas$7["PipelineRunFailedParams"];
15941
+ type Member = Schemas$7["Member"];
15942
+ type UpdateMember = Schemas$7["UpdateMember"];
15943
+ type ListMembers = Schemas$7["ListMembers"];
15944
+ type MemberSortField = Schemas$7["MemberSortField"];
15945
+ type MemberPage = Schemas$7["MemberPage"];
15726
15946
  //#endregion
15727
- //#region src/datatypes/pagination.d.ts
15947
+ //#region src/datatypes/notification.d.ts
15728
15948
  type Schemas$6 = components["schemas"];
15729
- type CursorPagination = Schemas$6["CursorPagination"];
15949
+ type Notification = Schemas$6["Notification"];
15950
+ type NotificationEvent = Schemas$6["NotificationEvent"];
15951
+ type NotificationSettings = Schemas$6["NotificationSettings"];
15952
+ type UpdateNotificationSettings = Schemas$6["UpdateNotificationSettings"];
15953
+ type UnreadStatus = Schemas$6["UnreadStatus"];
15954
+ type NotificationPage = Schemas$6["NotificationPage"];
15955
+ type MarkedReadStatus = Schemas$6["MarkedReadStatus"];
15956
+ type UnreadCountEvent = Schemas$6["UnreadCountEvent"];
15957
+ type NotificationPayload = Schemas$6["NotificationPayload"];
15958
+ type MemberInvitedParams = Schemas$6["MemberInvitedParams"];
15959
+ type MemberJoinedParams = Schemas$6["MemberJoinedParams"];
15960
+ type ConnectionSyncCompletedParams = Schemas$6["ConnectionSyncCompletedParams"];
15961
+ type ConnectionSyncFailedParams = Schemas$6["ConnectionSyncFailedParams"];
15962
+ type DetectionCompletedParams = Schemas$6["DetectionCompletedParams"];
15963
+ type DetectionFailedParams = Schemas$6["DetectionFailedParams"];
15964
+ type RedactionCreatedParams = Schemas$6["RedactionCreatedParams"];
15730
15965
  //#endregion
15731
- //#region src/datatypes/pipeline.d.ts
15966
+ //#region src/datatypes/pagination.d.ts
15732
15967
  type Schemas$5 = components["schemas"];
15733
- type Pipeline = Schemas$5["Pipeline"];
15734
- type CreatePipeline = Schemas$5["CreatePipeline"];
15735
- type UpdatePipeline = Schemas$5["UpdatePipeline"];
15736
- type PipelineDefinition = Schemas$5["PipelineDefinition"];
15737
- type PipelineFilter = Schemas$5["PipelineFilter"];
15738
- type PipelineStatus = Schemas$5["PipelineStatus"];
15739
- type PipelineTriggerType = Schemas$5["PipelineTriggerType"];
15740
- type PipelineSummary = Schemas$5["PipelineSummary"];
15741
- type PipelineSummaryPage = Schemas$5["PipelineSummaryPage"];
15968
+ type CursorPagination = Schemas$5["CursorPagination"];
15742
15969
  //#endregion
15743
- //#region src/datatypes/policy.d.ts
15970
+ //#region src/datatypes/pipeline.d.ts
15744
15971
  type Schemas$4 = components["schemas"];
15745
- type Policy = Schemas$4["Policy"];
15746
- type PolicySummary = Schemas$4["PolicySummary"];
15747
- type PolicySummaryPage = Schemas$4["PolicySummaryPage"];
15748
- type PolicyDefinition = Schemas$4["PolicyDefinition"];
15749
- type PolicyDraft = Schemas$4["PolicyDraft"];
15750
- type CreatePolicy = Schemas$4["CreatePolicy"];
15751
- type UpdatePolicy = Schemas$4["UpdatePolicy"];
15752
- type PolicyRule = Schemas$4["PolicyRule"];
15753
- type PolicyTemplate = Schemas$4["PolicyTemplate"];
15754
- type TemplateOrigin = Schemas$4["TemplateOrigin"];
15755
- type HipaaDeidMethod = Schemas$4["HipaaDeidMethod"];
15756
- type HipaaAccountNumbers = Schemas$4["HipaaAccountNumbers"];
15757
- type GdprArticle9Treatment = Schemas$4["GdprArticle9Treatment"];
15758
- type GdprSensitiveScope = Schemas$4["GdprSensitiveScope"];
15759
- type PciDssPart = Schemas$4["PciDssPart"];
15760
- type PciPanRender = Schemas$4["PciPanRender"];
15761
- type Predicate = Schemas$4["Predicate"];
15762
- type ModalityRedactions = Schemas$4["ModalityRedactions"];
15763
- type TextRedaction = Schemas$4["TextRedaction"];
15764
- type ImageRedaction = Schemas$4["ImageRedaction"];
15765
- type AudioRedaction = Schemas$4["AudioRedaction"];
15766
- type TabularRedaction = Schemas$4["TabularRedaction"];
15767
- type LabelScope = Schemas$4["LabelScope"];
15768
- type LabelEntry = Schemas$4["LabelEntry"];
15769
- type LabelLocale = Schemas$4["LabelLocale"];
15770
- type Label = Schemas$4["Label"];
15771
- type LabelRef = Schemas$4["LabelRef"];
15772
- type LocalizedText = Schemas$4["LocalizedText"];
15773
- type Color = Schemas$4["Color"];
15774
- type Waveform = Schemas$4["Waveform"];
15775
- type ClampBucket = Schemas$4["ClampBucket"];
15776
- type ConfidenceThreshold = Schemas$4["ConfidenceThreshold"];
15777
- type DateStyle = Schemas$4["DateStyle"];
15778
- type DateGranularity = Schemas$4["DateGranularity"];
15779
- type LanguageTag = Schemas$4["LanguageTag"];
15780
- type Sha2Algorithm = Schemas$4["Sha2Algorithm"];
15781
- type TerminalFallback = Schemas$4["TerminalFallback"];
15972
+ type Pipeline = Schemas$4["Pipeline"];
15973
+ type CreatePipeline = Schemas$4["CreatePipeline"];
15974
+ type UpdatePipeline = Schemas$4["UpdatePipeline"];
15975
+ type PipelineDefinition = Schemas$4["PipelineDefinition"];
15976
+ type PipelineFilter = Schemas$4["PipelineFilter"];
15977
+ type PipelineStatus = Schemas$4["PipelineStatus"];
15978
+ type PipelineTriggerType = Schemas$4["PipelineTriggerType"];
15979
+ type PipelineSummary = Schemas$4["PipelineSummary"];
15980
+ type PipelineSummaryPage = Schemas$4["PipelineSummaryPage"];
15782
15981
  //#endregion
15783
- //#region src/datatypes/run.d.ts
15982
+ //#region src/datatypes/policy.d.ts
15784
15983
  type Schemas$3 = components["schemas"];
15785
- type RunId = Schemas$3["RunId"];
15786
- type PipelineRun = Schemas$3["PipelineRun"];
15787
- type RunMetadata = Schemas$3["RunMetadata"];
15788
- type CreatePipelineRun = Schemas$3["CreatePipelineRun"];
15789
- type PipelineRunStatus = Schemas$3["PipelineRunStatus"];
15790
- type PipelineRunPage = Schemas$3["PipelineRunPage"];
15791
- type PipelineRunsQuery = Schemas$3["PipelineRunsQuery"];
15792
- type RunStatusEvent = Schemas$3["RunStatusEvent"];
15984
+ type Policy = Schemas$3["Policy"];
15985
+ type PolicySummary = Schemas$3["PolicySummary"];
15986
+ type PolicySummaryPage = Schemas$3["PolicySummaryPage"];
15987
+ type PolicyDefinition = Schemas$3["PolicyDefinition"];
15988
+ type PolicyDraft = Schemas$3["PolicyDraft"];
15989
+ type CreatePolicy = Schemas$3["CreatePolicy"];
15990
+ type UpdatePolicy = Schemas$3["UpdatePolicy"];
15991
+ type PolicyRule = Schemas$3["PolicyRule"];
15992
+ type PolicyTemplate = Schemas$3["PolicyTemplate"];
15993
+ type TemplateOrigin = Schemas$3["TemplateOrigin"];
15994
+ type HipaaDeidMethod = Schemas$3["HipaaDeidMethod"];
15995
+ type HipaaAccountNumbers = Schemas$3["HipaaAccountNumbers"];
15996
+ type GdprArticle9Treatment = Schemas$3["GdprArticle9Treatment"];
15997
+ type GdprSensitiveScope = Schemas$3["GdprSensitiveScope"];
15998
+ type PciDssPart = Schemas$3["PciDssPart"];
15999
+ type PciPanRender = Schemas$3["PciPanRender"];
16000
+ type Predicate = Schemas$3["Predicate"];
16001
+ type ModalityRedactions = Schemas$3["ModalityRedactions"];
16002
+ type TextRedaction = Schemas$3["TextRedaction"];
16003
+ type ImageRedaction = Schemas$3["ImageRedaction"];
16004
+ type AudioRedaction = Schemas$3["AudioRedaction"];
16005
+ type TabularRedaction = Schemas$3["TabularRedaction"];
16006
+ type LabelScope = Schemas$3["LabelScope"];
16007
+ type LabelEntry = Schemas$3["LabelEntry"];
16008
+ type LabelLocale = Schemas$3["LabelLocale"];
16009
+ type Label = Schemas$3["Label"];
16010
+ type LabelRef = Schemas$3["LabelRef"];
16011
+ type LocalizedText = Schemas$3["LocalizedText"];
16012
+ type Color = Schemas$3["Color"];
16013
+ type Waveform = Schemas$3["Waveform"];
16014
+ type ClampBucket = Schemas$3["ClampBucket"];
16015
+ type ConfidenceThreshold = Schemas$3["ConfidenceThreshold"];
16016
+ type DateStyle = Schemas$3["DateStyle"];
16017
+ type DateGranularity = Schemas$3["DateGranularity"];
16018
+ type LanguageTag = Schemas$3["LanguageTag"];
16019
+ type Sha2Algorithm = Schemas$3["Sha2Algorithm"];
16020
+ type TerminalFallback = Schemas$3["TerminalFallback"];
15793
16021
  //#endregion
15794
16022
  //#region src/datatypes/scope.d.ts
15795
16023
  type Schemas$2 = components["schemas"];
@@ -15827,5 +16055,5 @@ type Retention = Schemas["Retention"];
15827
16055
  type RetentionSettings = Schemas["RetentionSettings"];
15828
16056
  type RetentionOverride = Schemas["RetentionOverride"];
15829
16057
  //#endregion
15830
- export { LanguageTag as $, ModelUsageEntry as $i, CreateChatSession as $n, ImageRetag as $r, InviteCode as $t, PipelineRunPage as A, Handle as Aa, TextAuditEvent as Ai, ConnectionSync as An, Conflict as Ar, ConnectionSyncFailedParams as At, CreatePolicy as B, TextPattern as Bi, SyncConnection as Bn, ImageAuditEvent as Br, PipelineRunCompletedParams as Bt, Language as C, PipelineActivityParams as Ca, TabularManual as Ci, ValidationErrorDetail as Cn, Audit as Cr, PipelineStatus as Ct, ScopeMetadata as D, WorkspaceActivityParams as Da, TabularRefinement as Di, ConnectionConfig as Dn, Category as Dr, UpdatePipeline as Dt, Languages as E, WebhookActivityParams as Ea, TabularRedact as Ei, Connection as En, Calibration as Er, PipelineTriggerType as Et, RunStatusEvent as F, TextEntity as Fi, GcsCredentials as Fn, Dpi as Fr, NotificationEvent as Ft, HipaaAccountNumbers as G, ApiToken as Gi, SyncStatus as Gn, ImageEntity as Gr, ListMembers as Gt, DateStyle as H, TextRefinement as Hi, SyncMode as Hn, ImageAuditLog as Hr, UnreadCountEvent as Ht, AudioRedaction as I, TextHint as Ii, LlmConfig as In, EditSet as Ir, NotificationPage as It, Label as J, ApiTokenWithJWT as Ji, ChatMessage as Jn, ImageManual as Jr, MemberSortField as Jt, HipaaDeidMethod as K, ApiTokenPage as Ki, SyncTriggerType as Kn, ImageHint as Kr, Member as Kt, ClampBucket as L, TextLocation as Li, OpenAiCredentials as Ln, EntityCoRef as Lr, NotificationPayload as Lt, PipelineRunsQuery as M, PublicAccount as Ma, TextAuditLog as Mi, ConnectionVerification as Mn, Deduplication as Mr, MemberInvitedParams as Mt, RunId as N, UpdateAccount as Na, TextData as Ni, ConnectionsQuery as Nn, Dimensions as Nr, MemberJoinedParams as Nt, CreatePipelineRun as O, Account as Oa, TabularRetag as Oi, ConnectionId as On, CitedAttribution as Or, CursorPagination as Ot, RunMetadata as P, paths as Pa, TextEdit as Pi, CreateConnection as Pn, DocumentContext as Pr, Notification as Pt, LabelScope as Q, ModelUsage as Qi, ChatToken as Qn, ImageRefinement as Qr, Invite as Qt, Color as R, TextManual as Ri, S3Credentials as Rn, FreeformAttribution as Rr, NotificationSettings as Rt, CountryCode as S, MemberActivityParams as Sa, TabularLocation as Si, ErrorResponse as Sn, AudioRetag as Sr, PipelineFilter as St, LanguageSpan as T, PolicyActivityParams as Ta, TabularPattern as Ti, AzureCredentials as Tn, BoundingBox as Tr, PipelineSummaryPage as Tt, GdprArticle9Treatment as U, TextRetag as Ui, SyncSchedule as Un, ImageData as Ur, UnreadStatus as Ut, DateGranularity as V, TextRedact as Vi, SyncDeletionPolicy as Vn, ImageAuditKind as Vr, PipelineRunFailedParams as Vt, GdprSensitiveScope as W, TimeSpan as Wi, SyncScheduleInput as Wn, ImageEdit as Wr, UpdateNotificationSettings as Wt, LabelLocale as X, TokenExpiration as Xi, ChatSession as Xn, ImagePattern as Xr, CreateInvite as Xt, LabelEntry as Y, CreateApiToken as Yi, ChatRole as Yn, ImageModel as Yr, UpdateMember as Yt, LabelRef as Z, UpdateApiToken as Zi, ChatSessionPage as Zn, ImageRedact as Zr, GenerateInviteCode as Zt, WebhookId as _, ActivityPayload as _a, TabularAuditKind as _i, ModalityToken as _n, AudioManual as _r, UpdatePolicy as _t, RetentionSettings as a, RunTimeSeries as aa, Point as ai, InviteStatus as an, Login as ar, PolicyDefinition as at, WebhookStatus as b, FileActivityParams as ba, TabularEntity as bi, ExportFormat as bn, AudioRedact as br, Pipeline as bt, WorkspacePage as c, TokenCounts as ca, RasterMode as ci, SortOrder as cn, AudioAdd as cr, PolicySummary as ct, CreateWebhook as d, UsageReport as da, RuleMatch as di, HealthStatus as dn, AudioAuditLog as dr, Predicate as dt, ProviderType as ea, LeakProfile as ei, InviteExpiration as en, SendChatMessage as er, LocalizedText as et, TestWebhook as f, WorkspaceAnalytics as fa, Selection as fi, File as fn, AudioData as fr, Sha2Algorithm as ft, WebhookEvent as g, ActivityPage as ga, TabularAuditEvent as gi, ListFiles as gn, AudioLocation as gr, TextRedaction as gt, WebhookCreated as h, ActivityFilterQuery as ha, TabularAdd as hi, FormatToken as hn, AudioHint as hr, TerminalFallback as ht, RetentionOverride as i, RunStatusEntry as ia, PatternEvent as ii, InviteSortField as in, AuthToken as ir, Policy as it, PipelineRunStatus as j, PasswordChange as ja, TextAuditKind as ji, ConnectionSyncPage as jn, Contested as jr, MarkedReadStatus as jt, PipelineRun as k, AccountRef as ka, TextAdd as ki, ConnectionPage as kn, CodecParams as kr, ConnectionSyncCompletedParams as kt, WorkspaceRole as l, Usage as la, Redaction as li, ComponentHealth as ln, AudioAuditEvent as lr, PolicySummaryPage as lt, Webhook as m, ActivityExportOptions as ma, Suppress as mi, FilePage as mn, AudioEntity as mr, TemplateOrigin as mt, OcrPolicy as n, RunAnalytics as na, ModelEvent as ni, InvitePreview as nn, RecognizerCatalog as nr, PciDssPart as nt, UpdateWorkspace as o, StorageAnalytics as oa, Polygon as oi, ListInvites as on, Signup as or, PolicyDraft as ot, UpdateWebhook as p, Activity as pa, SourceRef as pi, FileKind as pn, AudioEdit as pr, TabularRedaction as pt, ImageRedaction as q, ApiTokenType as qi, UpdateConnection as qn, ImageLocation as qr, MemberPage as qt, Retention as r, RunDayEntry as ra, OperatorId as ri, InviteSent as rn, RegisteredRecognizer as rr, PciPanRender as rt, Workspace as s, StorageKindEntry as sa, RangeOfUint as si, ReplyInvite as sn, Attribution as sr, PolicyRule as st, CreateWorkspace as t, RecognizerId as ta, ManualIntent as ti, InvitePage as tn, LabelCatalog as tr, ModalityRedactions as tt, WorkspaceSettings as u, UsageAnalytics as ua, Report as ui, Health as un, AudioAuditKind as ur, PolicyTemplate as ut, WebhookPage as v, ActivityType as va, TabularAuditLog as vi, UpdateFile as vn, AudioModel as vr, Waveform as vt, LanguageProvenance as w, PipelineRunActivityParams as wa, TabularModel as wi, AnthropicCredentials as wn, AuditHash as wr, PipelineSummary as wt, Confidence as x, InviteActivityParams as xa, TabularHint as xi, ExportQuery as xn, AudioRefinement as xr, PipelineDefinition as xt, WebhookResult as y, ConnectionActivityParams as ya, TabularEdit as yi, DateWindow as yn, AudioPattern as yr, CreatePipeline as yt, ConfidenceThreshold as z, TextModel as zi, StorageConfig as zn, ImageAdd as zr, PipelineRunAnalyzedParams as zt };
15831
- //# sourceMappingURL=index-BsijAKTe.d.ts.map
16058
+ export { PolicyRule as $, DetectionAnalytics as $i, ChatMessage as $n, ImageModel as $r, ReplyInvite as $t, Color as A, Account as Aa, TabularRetag as Ai, AzureCredentials as An, Calibration as Ar, NotificationPage as At, Label as B, TextManual as Bi, GcsCredentials as Bn, EditSet as Br, MemberSortField as Bt, Language as C, InviteActivityParams as Ca, TabularEntity as Ci, PipelineDetectionsQuery as Cn, AudioModel as Cr, DetectionCompletedParams as Ct, ScopeMetadata as D, RedactionActivityParams as Da, TabularModel as Di, RedactionResultPage as Dn, Audit as Dr, MemberJoinedParams as Dt, Languages as E, PolicyActivityParams as Ea, TabularManual as Ei, RedactionResult as En, AudioRetag as Er, MemberInvitedParams as Et, GdprArticle9Treatment as F, UpdateAccount as Fa, TextData as Fi, ConnectionSync as Fn, Contested as Fr, UnreadStatus as Ft, LanguageTag as G, TimeSpan as Gi, SyncConnection as Gn, ImageAuditKind as Gr, InviteCode as Gt, LabelLocale as H, TextPattern as Hi, OpenAiCredentials as Hn, FreeformAttribution as Hr, CreateInvite as Ht, GdprSensitiveScope as I, paths as Ia, TextEdit as Ii, ConnectionSyncPage as In, Deduplication as Ir, UpdateNotificationSettings as It, PciDssPart as J, ApiTokenType as Ji, SyncSchedule as Jn, ImageEdit as Jr, InvitePreview as Jt, LocalizedText as K, ApiToken as Ki, SyncDeletionPolicy as Kn, ImageAuditLog as Kr, InviteExpiration as Kt, HipaaAccountNumbers as L, TextEntity as Li, ConnectionVerification as Ln, Dimensions as Lr, ListMembers as Lt, CreatePolicy as M, Handle as Ma, TextAuditEvent as Mi, ConnectionConfig as Mn, CitedAttribution as Mr, NotificationSettings as Mt, DateGranularity as N, PasswordChange as Na, TextAuditKind as Ni, ConnectionId as Nn, CodecParams as Nr, RedactionCreatedParams as Nt, AudioRedaction as O, WebhookActivityParams as Oa, TabularPattern as Oi, WorkspaceDetectionsQuery as On, AuditHash as Or, Notification as Ot, DateStyle as P, PublicAccount as Pa, TextAuditLog as Pi, ConnectionPage as Pn, Conflict as Pr, UnreadCountEvent as Pt, PolicyDraft as Q, UpdateApiToken as Qi, UpdateConnection as Qn, ImageManual as Qr, ListInvites as Qt, HipaaDeidMethod as R, TextHint as Ri, ConnectionsQuery as Rn, DocumentContext as Rr, Member as Rt, CountryCode as S, FileActivityParams as Sa, TabularEdit as Si, DetectionStatusEvent as Sn, AudioManual as Sr, ConnectionSyncFailedParams as St, LanguageSpan as T, PipelineActivityParams as Ta, TabularLocation as Ti, RedactionId as Tn, AudioRefinement as Tr, MarkedReadStatus as Tt, LabelRef as U, TextRefinement as Ui, S3Credentials as Un, ImageAdd as Ur, GenerateInviteCode as Ut, LabelEntry as V, TextModel as Vi, LlmConfig as Vn, EntityCoRef as Vr, UpdateMember as Vt, LabelScope as W, TextRetag as Wi, StorageConfig as Wn, ImageAuditEvent as Wr, Invite as Wt, Policy as X, CreateApiToken as Xi, SyncStatus as Xn, ImageHint as Xr, InviteSortField as Xt, PciPanRender as Y, ApiTokenWithJWT as Yi, SyncScheduleInput as Yn, ImageEntity as Yr, InviteSent as Yt, PolicyDefinition as Z, TokenExpiration as Zi, SyncTriggerType as Zn, ImageLocation as Zr, InviteStatus as Zt, WebhookId as _, ActivityPage as _a, Suppress as _i, Detection as _n, AudioData as _r, PipelineSummaryPage as _t, RetentionSettings as a, ProviderType as aa, ModelEvent as ai, FileKind as an, SendChatMessage as ar, TabularRedaction as at, WebhookStatus as b, ConnectionActivityParams as ba, TabularAuditKind as bi, DetectionPage as bn, AudioHint as br, CursorPagination as bt, WorkspacePage as c, StorageKindEntry as ca, Point as ci, ListFiles as cn, RegisteredRecognizer as cr, TextRedaction as ct, CreateWebhook as d, UsageAnalytics as da, RasterMode as di, DateWindow as dn, Signup as dr, CreatePipeline as dt, DetectionDayEntry as ea, ImagePattern as ei, SortOrder as en, ChatRole as er, PolicySummary as et, TestWebhook as f, UsageReport as fa, Redaction as fi, ExportFormat as fn, Attribution as fr, Pipeline as ft, WebhookEvent as g, ActivityFilterQuery as ga, SourceRef as gi, CreateDetection as gn, AudioAuditLog as gr, PipelineSummary as gt, WebhookCreated as h, ActivityExportOptions as ha, Selection as hi, ValidationErrorDetail as hn, AudioAuditKind as hr, PipelineStatus as ht, RetentionOverride as i, ModelUsageEntry as ia, ManualIntent as ii, File as in, CreateChatSession as ir, Sha2Algorithm as it, ConfidenceThreshold as j, AccountRef as ja, TextAdd as ji, Connection as jn, Category as jr, NotificationPayload as jt, ClampBucket as k, WorkspaceActivityParams as ka, TabularRefinement as ki, AnthropicCredentials as kn, BoundingBox as kr, NotificationEvent as kt, WorkspaceRole as l, TokenCounts as la, Polygon as li, ModalityToken as ln, AuthToken as lr, UpdatePolicy as lt, Webhook as m, Activity as ma, RuleMatch as mi, ErrorResponse as mn, AudioAuditEvent as mr, PipelineFilter as mt, OcrPolicy as n, DetectionTimeSeries as na, ImageRetag as ni, Health as nn, ChatSessionPage as nr, PolicyTemplate as nt, UpdateWorkspace as o, RecognizerId as oa, OperatorId as oi, FilePage as on, LabelCatalog as or, TemplateOrigin as ot, UpdateWebhook as p, WorkspaceAnalytics as pa, Report as pi, ExportQuery as pn, AudioAdd as pr, PipelineDefinition as pt, ModalityRedactions as q, ApiTokenPage as qi, SyncMode as qn, ImageData as qr, InvitePage as qt, Retention as r, ModelUsage as ra, LeakProfile as ri, HealthStatus as rn, ChatToken as rr, Predicate as rt, Workspace as s, StorageAnalytics as sa, PatternEvent as si, FormatToken as sn, RecognizerCatalog as sr, TerminalFallback as st, CreateWorkspace as t, DetectionStatusEntry as ta, ImageRefinement as ti, ComponentHealth as tn, ChatSession as tr, PolicySummaryPage as tt, WorkspaceSettings as u, Usage as ua, RangeOfUint as ui, UpdateFile as un, Login as ur, Waveform as ut, WebhookPage as v, ActivityPayload as va, TabularAdd as vi, DetectionId as vn, AudioEdit as vr, PipelineTriggerType as vt, LanguageProvenance as w, MemberActivityParams as wa, TabularHint as wi, RedactDetection as wn, AudioPattern as wr, DetectionFailedParams as wt, Confidence as x, DetectionActivityParams as xa, TabularAuditLog as xi, DetectionStatus as xn, AudioLocation as xr, ConnectionSyncCompletedParams as xt, WebhookResult as y, ActivityType as ya, TabularAuditEvent as yi, DetectionMetadata as yn, AudioEntity as yr, UpdatePipeline as yt, ImageRedaction as z, TextLocation as zi, CreateConnection as zn, Dpi as zr, MemberPage as zt };
16059
+ //# sourceMappingURL=index-BPKkfko3.d.ts.map