pgbeam 0.3.2 → 0.3.3

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.
@@ -1299,6 +1299,29 @@ type RejectApprovalRequestRequestConfig = {
1299
1299
  url: `/v1/projects/${string}/approvals/${string}/reject`;
1300
1300
  };
1301
1301
 
1302
+ /**
1303
+ * Generated by Kubb (https://kubb.dev/).
1304
+ * Do not edit manually.
1305
+ */
1306
+ declare const auditDecision: {
1307
+ readonly allow: "allow";
1308
+ readonly block: "block";
1309
+ readonly mask: "mask";
1310
+ readonly truncate: "truncate";
1311
+ };
1312
+ type AuditDecisionKey = (typeof auditDecision)[keyof typeof auditDecision];
1313
+
1314
+ /**
1315
+ * Generated by Kubb (https://kubb.dev/).
1316
+ * Do not edit manually.
1317
+ */
1318
+ declare const auditSource: {
1319
+ readonly wire: "wire";
1320
+ readonly mcp: "mcp";
1321
+ readonly control: "control";
1322
+ };
1323
+ type AuditSourceKey = (typeof auditSource)[keyof typeof auditSource];
1324
+
1302
1325
  /**
1303
1326
  * Generated by Kubb (https://kubb.dev/).
1304
1327
  * Do not edit manually.
@@ -1446,13 +1469,33 @@ type ListAuditLogsPathProjectId = string;
1446
1469
  */
1447
1470
  type ListAuditLogsQueryCredentialId = string | undefined;
1448
1471
  /**
1449
- * @description Filter to a single event type (e.g. blocked).
1472
+ * @description Filter to a single event type (e.g. blocked, masked, query).
1450
1473
  * @pattern ^[a-z_]+$
1451
1474
  * @type string | undefined
1452
1475
  */
1453
1476
  type ListAuditLogsQueryEvent = string | undefined;
1454
1477
  /**
1455
- * @description Return entries strictly older than this timestamp (cursor).
1478
+ * @description Coarse outcome filter that groups events. `allow` = query; `block` = blocked, budget_exhausted, auth_failed, credential_expired; `mask` = masked; `truncate` = truncated.
1479
+ * @type string | undefined
1480
+ */
1481
+ type ListAuditLogsQueryDecision = AuditDecisionKey | undefined;
1482
+ /**
1483
+ * @description Filter by statement origin (wire, mcp, or control).
1484
+ * @type string | undefined
1485
+ */
1486
+ type ListAuditLogsQuerySource = AuditSourceKey | undefined;
1487
+ /**
1488
+ * @description Return entries at or after this timestamp (inclusive lower bound).
1489
+ * @type string | undefined
1490
+ */
1491
+ type ListAuditLogsQueryStart = string | undefined;
1492
+ /**
1493
+ * @description Return entries strictly older than this timestamp (cursor / upper bound).
1494
+ * @type string | undefined
1495
+ */
1496
+ type ListAuditLogsQueryEnd = string | undefined;
1497
+ /**
1498
+ * @description Return entries strictly older than this timestamp (keyset pagination cursor).
1456
1499
  * @type string | undefined
1457
1500
  */
1458
1501
  type ListAuditLogsQueryBefore = string | undefined;
@@ -1486,6 +1529,10 @@ type ListAuditLogsRequestConfig = {
1486
1529
  queryParams?: {
1487
1530
  credential_id?: ListAuditLogsQueryCredentialId;
1488
1531
  event?: ListAuditLogsQueryEvent;
1532
+ decision?: ListAuditLogsQueryDecision;
1533
+ source?: ListAuditLogsQuerySource;
1534
+ start?: ListAuditLogsQueryStart;
1535
+ end?: ListAuditLogsQueryEnd;
1489
1536
  before?: ListAuditLogsQueryBefore;
1490
1537
  page_size?: ListAuditLogsQueryPageSize;
1491
1538
  };
@@ -1496,6 +1543,82 @@ type ListAuditLogsRequestConfig = {
1496
1543
  url: `/v1/projects/${string}/audit-logs`;
1497
1544
  };
1498
1545
 
1546
+ /**
1547
+ * Generated by Kubb (https://kubb.dev/).
1548
+ * Do not edit manually.
1549
+ */
1550
+
1551
+ /**
1552
+ * @description Unique project identifier (prefixed, e.g. prj_xxx).
1553
+ * @pattern ^[a-zA-Z0-9_.-]+$
1554
+ * @type string
1555
+ */
1556
+ type ExportAuditLogsPathProjectId = string;
1557
+ /**
1558
+ * @description Filter to a single agent credential.
1559
+ * @pattern ^[a-zA-Z0-9_.-]+$
1560
+ * @type string | undefined
1561
+ */
1562
+ type ExportAuditLogsQueryCredentialId = string | undefined;
1563
+ /**
1564
+ * @description Filter to a single event type (e.g. blocked, masked, query).
1565
+ * @pattern ^[a-z_]+$
1566
+ * @type string | undefined
1567
+ */
1568
+ type ExportAuditLogsQueryEvent = string | undefined;
1569
+ /**
1570
+ * @description Coarse outcome filter that groups events. `allow` = query; `block` = blocked, budget_exhausted, auth_failed, credential_expired; `mask` = masked; `truncate` = truncated.
1571
+ * @type string | undefined
1572
+ */
1573
+ type ExportAuditLogsQueryDecision = AuditDecisionKey | undefined;
1574
+ /**
1575
+ * @description Filter by statement origin (wire, mcp, or control).
1576
+ * @type string | undefined
1577
+ */
1578
+ type ExportAuditLogsQuerySource = AuditSourceKey | undefined;
1579
+ /**
1580
+ * @description Return entries at or after this timestamp (inclusive lower bound).
1581
+ * @type string | undefined
1582
+ */
1583
+ type ExportAuditLogsQueryStart = string | undefined;
1584
+ /**
1585
+ * @description Return entries strictly older than this timestamp (cursor / upper bound).
1586
+ * @type string | undefined
1587
+ */
1588
+ type ExportAuditLogsQueryEnd = string | undefined;
1589
+ /**
1590
+ * @type string
1591
+ */
1592
+ type ExportAuditLogsStatus200 = string;
1593
+ /**
1594
+ * @type object
1595
+ */
1596
+ type ExportAuditLogsRequestConfig = {
1597
+ data?: never;
1598
+ /**
1599
+ * @type object
1600
+ */
1601
+ pathParams: {
1602
+ project_id: ExportAuditLogsPathProjectId;
1603
+ };
1604
+ /**
1605
+ * @type object | undefined
1606
+ */
1607
+ queryParams?: {
1608
+ credential_id?: ExportAuditLogsQueryCredentialId;
1609
+ event?: ExportAuditLogsQueryEvent;
1610
+ decision?: ExportAuditLogsQueryDecision;
1611
+ source?: ExportAuditLogsQuerySource;
1612
+ start?: ExportAuditLogsQueryStart;
1613
+ end?: ExportAuditLogsQueryEnd;
1614
+ };
1615
+ headerParams?: never;
1616
+ /**
1617
+ * @type string
1618
+ */
1619
+ url: `/v1/projects/${string}/audit-logs/export`;
1620
+ };
1621
+
1499
1622
  /**
1500
1623
  * Generated by Kubb (https://kubb.dev/).
1501
1624
  * Do not edit manually.
@@ -3078,6 +3201,328 @@ type TestDatabaseConnectionRequestConfig = {
3078
3201
  url: `/v1/projects/${string}/databases/${string}/test-connection`;
3079
3202
  };
3080
3203
 
3204
+ /**
3205
+ * Generated by Kubb (https://kubb.dev/).
3206
+ * Do not edit manually.
3207
+ */
3208
+ declare const piiSuggestionPiiTypeEnum: {
3209
+ readonly email: "email";
3210
+ readonly phone: "phone";
3211
+ readonly ssn: "ssn";
3212
+ readonly credit_card: "credit_card";
3213
+ readonly ip_address: "ip_address";
3214
+ readonly full_name: "full_name";
3215
+ readonly street_address: "street_address";
3216
+ readonly date_of_birth: "date_of_birth";
3217
+ readonly national_id: "national_id";
3218
+ readonly passport: "passport";
3219
+ readonly bank_account: "bank_account";
3220
+ readonly api_secret: "api_secret";
3221
+ readonly other: "other";
3222
+ };
3223
+ type PiiSuggestionPiiTypeEnumKey = (typeof piiSuggestionPiiTypeEnum)[keyof typeof piiSuggestionPiiTypeEnum];
3224
+ declare const piiSuggestionMaskKindEnum: {
3225
+ readonly redact: "redact";
3226
+ readonly null: "null";
3227
+ readonly hash: "hash";
3228
+ };
3229
+ type PiiSuggestionMaskKindEnumKey = (typeof piiSuggestionMaskKindEnum)[keyof typeof piiSuggestionMaskKindEnum];
3230
+ /**
3231
+ * @description A single likely-PII column detected by the scanner, with a recommended masking rule. Suggestions are advisory only — nothing is applied until the operator reviews and adds it to a policy profile.
3232
+ * @type object
3233
+ */
3234
+ type PiiSuggestion = {
3235
+ /**
3236
+ * @description Schema the column belongs to (e.g. \"public\").
3237
+ * @example public
3238
+ * @type string
3239
+ */
3240
+ schema: string;
3241
+ /**
3242
+ * @description Table the column belongs to.
3243
+ * @example users
3244
+ * @type string
3245
+ */
3246
+ table: string;
3247
+ /**
3248
+ * @description The detected column name.
3249
+ * @example email
3250
+ * @type string
3251
+ */
3252
+ column: string;
3253
+ /**
3254
+ * @description PostgreSQL data type of the column.
3255
+ * @example text
3256
+ * @type string
3257
+ */
3258
+ data_type: string;
3259
+ /**
3260
+ * @description The kind of personally identifiable information detected.
3261
+ * @type string
3262
+ */
3263
+ pii_type: PiiSuggestionPiiTypeEnumKey;
3264
+ /**
3265
+ * @description Recommended masking kind for this column. hash is suggested for join/group keys (e.g. email), redact for free-text PII, null for highly sensitive secrets.
3266
+ * @type string
3267
+ */
3268
+ mask_kind: PiiSuggestionMaskKindEnumKey;
3269
+ /**
3270
+ * @description Confidence score in [0,1]. Combines column-name signal and sampled-value signal; higher is stronger evidence.
3271
+ * @example 0.95
3272
+ * @type number
3273
+ */
3274
+ confidence: number;
3275
+ /**
3276
+ * @description Human-readable explanations for why the column was flagged.
3277
+ * @example column name matches 'email',8/10 sampled values look like emails
3278
+ * @type array
3279
+ */
3280
+ reasons: string[];
3281
+ /**
3282
+ * @description Number of sampled non-null values that matched the PII pattern.
3283
+ * @minLength 0
3284
+ * @type integer | undefined
3285
+ */
3286
+ sample_match_count?: number;
3287
+ /**
3288
+ * @description Number of non-null values sampled from the column.
3289
+ * @minLength 0
3290
+ * @type integer | undefined
3291
+ */
3292
+ sample_size?: number;
3293
+ };
3294
+
3295
+ /**
3296
+ * Generated by Kubb (https://kubb.dev/).
3297
+ * Do not edit manually.
3298
+ */
3299
+
3300
+ /**
3301
+ * @description Result of a PII detection scan over a database\'s schema.
3302
+ * @type object
3303
+ */
3304
+ type ScanPiiResult = {
3305
+ /**
3306
+ * @description Number of tables inspected.
3307
+ * @minLength 0
3308
+ * @type integer
3309
+ */
3310
+ scanned_tables: number;
3311
+ /**
3312
+ * @description Number of columns inspected.
3313
+ * @minLength 0
3314
+ * @type integer
3315
+ */
3316
+ scanned_columns: number;
3317
+ /**
3318
+ * @description Ranked masking suggestions, highest confidence first. Empty when no likely-PII columns were found.
3319
+ * @type array
3320
+ */
3321
+ suggestions: PiiSuggestion[];
3322
+ /**
3323
+ * @description True when the scan stopped early at the column limit and some columns were not inspected.
3324
+ * @type boolean | undefined
3325
+ */
3326
+ truncated?: boolean;
3327
+ /**
3328
+ * @description Present when the scan failed to connect or read the schema.
3329
+ * @type string | undefined
3330
+ */
3331
+ error?: string;
3332
+ };
3333
+
3334
+ /**
3335
+ * Generated by Kubb (https://kubb.dev/).
3336
+ * Do not edit manually.
3337
+ */
3338
+
3339
+ /**
3340
+ * @description Unique project identifier (prefixed, e.g. prj_xxx).
3341
+ * @pattern ^[a-zA-Z0-9_.-]+$
3342
+ * @type string
3343
+ */
3344
+ type ScanDatabaseForPiiPathProjectId = string;
3345
+ /**
3346
+ * @description Unique database identifier (prefixed, e.g. db_xxx).
3347
+ * @pattern ^[a-zA-Z0-9_.-]+$
3348
+ * @type string
3349
+ */
3350
+ type ScanDatabaseForPiiPathDatabaseId = string;
3351
+ /**
3352
+ * @description Result of a PII detection scan over a database\'s schema.
3353
+ * @type object
3354
+ */
3355
+ type ScanDatabaseForPiiStatus200 = ScanPiiResult;
3356
+ /**
3357
+ * @type object
3358
+ */
3359
+ type ScanDatabaseForPiiRequestConfig = {
3360
+ data?: never;
3361
+ /**
3362
+ * @type object
3363
+ */
3364
+ pathParams: {
3365
+ project_id: ScanDatabaseForPiiPathProjectId;
3366
+ database_id: ScanDatabaseForPiiPathDatabaseId;
3367
+ };
3368
+ queryParams?: never;
3369
+ headerParams?: never;
3370
+ /**
3371
+ * @type string
3372
+ */
3373
+ url: `/v1/projects/${string}/databases/${string}/scan-pii`;
3374
+ };
3375
+
3376
+ /**
3377
+ * Generated by Kubb (https://kubb.dev/).
3378
+ * Do not edit manually.
3379
+ */
3380
+ /**
3381
+ * @description One column of a relation in the schema catalog.
3382
+ * @type object
3383
+ */
3384
+ type SchemaCatalogColumn = {
3385
+ /**
3386
+ * @description Column name.
3387
+ * @example email
3388
+ * @type string
3389
+ */
3390
+ name: string;
3391
+ /**
3392
+ * @description PostgreSQL data type (information_schema.data_type).
3393
+ * @example text
3394
+ * @type string
3395
+ */
3396
+ data_type: string;
3397
+ /**
3398
+ * @description True for binary-typed columns (e.g. bytea). Masking a binary column always returns NULL — a redact/hash token would corrupt the wire type — so the editor warns when a masking rule targets one.
3399
+ * @type boolean
3400
+ */
3401
+ is_binary: boolean;
3402
+ };
3403
+
3404
+ /**
3405
+ * Generated by Kubb (https://kubb.dev/).
3406
+ * Do not edit manually.
3407
+ */
3408
+
3409
+ declare const schemaCatalogRelationKindEnum: {
3410
+ readonly table: "table";
3411
+ readonly view: "view";
3412
+ readonly materialized_view: "materialized_view";
3413
+ readonly other: "other";
3414
+ };
3415
+ type SchemaCatalogRelationKindEnumKey = (typeof schemaCatalogRelationKindEnum)[keyof typeof schemaCatalogRelationKindEnum];
3416
+ /**
3417
+ * @description One relation (base table or view) in the schema catalog.
3418
+ * @type object
3419
+ */
3420
+ type SchemaCatalogRelation = {
3421
+ /**
3422
+ * @description Schema the relation belongs to.
3423
+ * @example public
3424
+ * @type string
3425
+ */
3426
+ schema: string;
3427
+ /**
3428
+ * @description Relation name.
3429
+ * @example users
3430
+ * @type string
3431
+ */
3432
+ name: string;
3433
+ /**
3434
+ * @description Relation kind. Allowlists, masking, and row-filters are enforced against the named relation itself, NOT through a view to its base tables — so a view over a row-filtered base table can leak. The editor warns when a policy entry targets a view.
3435
+ * @type string
3436
+ */
3437
+ kind: SchemaCatalogRelationKindEnumKey;
3438
+ /**
3439
+ * @description The relation\'s columns.
3440
+ * @type array
3441
+ */
3442
+ columns: SchemaCatalogColumn[];
3443
+ };
3444
+
3445
+ /**
3446
+ * Generated by Kubb (https://kubb.dev/).
3447
+ * Do not edit manually.
3448
+ */
3449
+
3450
+ /**
3451
+ * @description A read-only snapshot of a database\'s user relations (tables and views) and their columns, used to power table/column autocomplete and view-aware warnings in the policy editor. System schemas (pg_catalog, information_schema, pg_toast) are excluded.
3452
+ * @type object
3453
+ */
3454
+ type SchemaCatalog = {
3455
+ /**
3456
+ * @description User relations, ordered by schema then name.
3457
+ * @type array
3458
+ */
3459
+ relations: SchemaCatalogRelation[];
3460
+ /**
3461
+ * @description Number of relations in the catalog.
3462
+ * @minLength 0
3463
+ * @type integer
3464
+ */
3465
+ scanned_relations: number;
3466
+ /**
3467
+ * @description Number of columns in the catalog.
3468
+ * @minLength 0
3469
+ * @type integer
3470
+ */
3471
+ scanned_columns: number;
3472
+ /**
3473
+ * @description True when the catalog stopped early at the column limit.
3474
+ * @type boolean | undefined
3475
+ */
3476
+ truncated?: boolean;
3477
+ /**
3478
+ * @description Present when introspection failed to connect or read the schema.
3479
+ * @type string | undefined
3480
+ */
3481
+ error?: string;
3482
+ };
3483
+
3484
+ /**
3485
+ * Generated by Kubb (https://kubb.dev/).
3486
+ * Do not edit manually.
3487
+ */
3488
+
3489
+ /**
3490
+ * @description Unique project identifier (prefixed, e.g. prj_xxx).
3491
+ * @pattern ^[a-zA-Z0-9_.-]+$
3492
+ * @type string
3493
+ */
3494
+ type GetSchemaCatalogPathProjectId = string;
3495
+ /**
3496
+ * @description Unique database identifier (prefixed, e.g. db_xxx).
3497
+ * @pattern ^[a-zA-Z0-9_.-]+$
3498
+ * @type string
3499
+ */
3500
+ type GetSchemaCatalogPathDatabaseId = string;
3501
+ /**
3502
+ * @description A read-only snapshot of a database\'s user relations (tables and views) and their columns, used to power table/column autocomplete and view-aware warnings in the policy editor. System schemas (pg_catalog, information_schema, pg_toast) are excluded.
3503
+ * @type object
3504
+ */
3505
+ type GetSchemaCatalogStatus200 = SchemaCatalog;
3506
+ /**
3507
+ * @type object
3508
+ */
3509
+ type GetSchemaCatalogRequestConfig = {
3510
+ data?: never;
3511
+ /**
3512
+ * @type object
3513
+ */
3514
+ pathParams: {
3515
+ project_id: GetSchemaCatalogPathProjectId;
3516
+ database_id: GetSchemaCatalogPathDatabaseId;
3517
+ };
3518
+ queryParams?: never;
3519
+ headerParams?: never;
3520
+ /**
3521
+ * @type string
3522
+ */
3523
+ url: `/v1/projects/${string}/databases/${string}/schema-catalog`;
3524
+ };
3525
+
3081
3526
  /**
3082
3527
  * Generated by Kubb (https://kubb.dev/).
3083
3528
  * Do not edit manually.
@@ -4588,6 +5033,166 @@ type DeletePolicyProfileRequestConfig = {
4588
5033
  url: `/v1/projects/${string}/policies/${string}`;
4589
5034
  };
4590
5035
 
5036
+ /**
5037
+ * Generated by Kubb (https://kubb.dev/).
5038
+ * Do not edit manually.
5039
+ */
5040
+
5041
+ /**
5042
+ * @description A SQL statement to test plus the policy to test it against. Supply exactly one of policy_id (an existing saved policy) or policy (an unsaved draft, e.g. the in-progress editor form).
5043
+ * @type object
5044
+ */
5045
+ type DryEvalInput = {
5046
+ /**
5047
+ * @description The single SQL statement to evaluate.
5048
+ * @minLength 1
5049
+ * @maxLength 100000
5050
+ * @example SELECT email FROM users WHERE id = 1
5051
+ * @type string
5052
+ */
5053
+ sql: string;
5054
+ /**
5055
+ * @description ID of an existing saved policy profile to evaluate against.
5056
+ * @example pol_01h455vb4pex5vsknk084sn02q
5057
+ * @type string | undefined
5058
+ */
5059
+ policy_id?: string;
5060
+ /**
5061
+ * @description Mutable fields of a policy profile (used for create and update).
5062
+ * @type object | undefined
5063
+ */
5064
+ policy?: PolicyProfileInput;
5065
+ };
5066
+
5067
+ /**
5068
+ * Generated by Kubb (https://kubb.dev/).
5069
+ * Do not edit manually.
5070
+ */
5071
+ declare const dryEvalMaskedColumnKindEnum: {
5072
+ readonly redact: "redact";
5073
+ readonly null: "null";
5074
+ readonly hash: "hash";
5075
+ };
5076
+ type DryEvalMaskedColumnKindEnumKey = (typeof dryEvalMaskedColumnKindEnum)[keyof typeof dryEvalMaskedColumnKindEnum];
5077
+ /**
5078
+ * @description One result column that would be masked, with the mask kind applied.
5079
+ * @type object
5080
+ */
5081
+ type DryEvalMaskedColumn = {
5082
+ /**
5083
+ * @description The output column name (post-alias) the client would see masked.
5084
+ * @example email
5085
+ * @type string
5086
+ */
5087
+ column: string;
5088
+ /**
5089
+ * @description How the column is masked.
5090
+ * @type string
5091
+ */
5092
+ kind: DryEvalMaskedColumnKindEnumKey;
5093
+ };
5094
+
5095
+ /**
5096
+ * Generated by Kubb (https://kubb.dev/).
5097
+ * Do not edit manually.
5098
+ */
5099
+
5100
+ declare const dryEvalResultVerdictEnum: {
5101
+ readonly allow: "allow";
5102
+ readonly block: "block";
5103
+ readonly mask: "mask";
5104
+ readonly "row-filter": "row-filter";
5105
+ };
5106
+ type DryEvalResultVerdictEnumKey = (typeof dryEvalResultVerdictEnum)[keyof typeof dryEvalResultVerdictEnum];
5107
+ /**
5108
+ * @description The decision the proxy would reach for the supplied statement under the supplied policy. verdict is the headline outcome; the remaining fields detail why.
5109
+ * @type object
5110
+ */
5111
+ type DryEvalResult = {
5112
+ /**
5113
+ * @description allow — permitted unchanged; block — rejected; mask — permitted but listed result columns are masked; row-filter — permitted but a WHERE predicate is injected (and any listed columns are also masked).
5114
+ * @type string
5115
+ */
5116
+ verdict: DryEvalResultVerdictEnumKey;
5117
+ /**
5118
+ * @description Machine-readable decision tag. For a block, the blocking rule (e.g. read_only, table_denied, table_not_allowed, statement_denied, row_filter_unsafe). Otherwise \"ok\".
5119
+ * @example ok
5120
+ * @type string
5121
+ */
5122
+ rule: string;
5123
+ /**
5124
+ * @description Human-readable explanation of the verdict.
5125
+ * @type string
5126
+ */
5127
+ reason: string;
5128
+ /**
5129
+ * @description What the author could do instead (present on block verdicts).
5130
+ * @type string | undefined
5131
+ */
5132
+ hint?: string;
5133
+ /**
5134
+ * @description Result columns that would be masked. Present on mask/row-filter verdicts.
5135
+ * @type array | undefined
5136
+ */
5137
+ masked_columns?: DryEvalMaskedColumn[];
5138
+ /**
5139
+ * @description The row-filter predicate ANDed into the statement\'s WHERE clause.
5140
+ * @example tenant_id = current_setting('pgbeam.tenant')
5141
+ * @type string | undefined
5142
+ */
5143
+ row_filter_predicate?: string;
5144
+ /**
5145
+ * @description The statement as it would be sent upstream after row-filter injection.
5146
+ * @type string | undefined
5147
+ */
5148
+ rewritten_sql?: string;
5149
+ /**
5150
+ * @description Informational caveats about stateful enforcement a single-statement preview cannot model (per-region budgets, approvals, write-mode routing).
5151
+ * @type array | undefined
5152
+ */
5153
+ notes?: string[];
5154
+ };
5155
+
5156
+ /**
5157
+ * Generated by Kubb (https://kubb.dev/).
5158
+ * Do not edit manually.
5159
+ */
5160
+
5161
+ /**
5162
+ * @description Unique project identifier (prefixed, e.g. prj_xxx).
5163
+ * @pattern ^[a-zA-Z0-9_.-]+$
5164
+ * @type string
5165
+ */
5166
+ type DryEvalPolicyPathProjectId = string;
5167
+ /**
5168
+ * @description The decision the proxy would reach for the supplied statement under the supplied policy. verdict is the headline outcome; the remaining fields detail why.
5169
+ * @type object
5170
+ */
5171
+ type DryEvalPolicyStatus200 = DryEvalResult;
5172
+ /**
5173
+ * @description A SQL statement to test plus the policy to test it against. Supply exactly one of policy_id (an existing saved policy) or policy (an unsaved draft, e.g. the in-progress editor form).
5174
+ * @type object
5175
+ */
5176
+ type DryEvalPolicyData = DryEvalInput;
5177
+ /**
5178
+ * @type object
5179
+ */
5180
+ type DryEvalPolicyRequestConfig = {
5181
+ data?: DryEvalPolicyData;
5182
+ /**
5183
+ * @type object
5184
+ */
5185
+ pathParams: {
5186
+ project_id: DryEvalPolicyPathProjectId;
5187
+ };
5188
+ queryParams?: never;
5189
+ headerParams?: never;
5190
+ /**
5191
+ * @type string
5192
+ */
5193
+ url: `/v1/projects/${string}/policy-evaluations`;
5194
+ };
5195
+
4591
5196
  /**
4592
5197
  * Generated by Kubb (https://kubb.dev/).
4593
5198
  * Do not edit manually.
@@ -6838,6 +7443,10 @@ declare const operationsByTag: {
6838
7443
  readonly method: "GET";
6839
7444
  readonly path: "/v1/projects/{project_id}/audit-logs";
6840
7445
  };
7446
+ readonly exportAuditLogs: {
7447
+ readonly method: "GET";
7448
+ readonly path: "/v1/projects/{project_id}/audit-logs/export";
7449
+ };
6841
7450
  };
6842
7451
  readonly anomalies: {
6843
7452
  readonly listAnomalyAlerts: {
@@ -6990,6 +7599,14 @@ declare const operationsByTag: {
6990
7599
  readonly method: "POST";
6991
7600
  readonly path: "/v1/projects/{project_id}/databases/{database_id}/test-connection";
6992
7601
  };
7602
+ readonly scanDatabaseForPii: {
7603
+ readonly method: "POST";
7604
+ readonly path: "/v1/projects/{project_id}/databases/{database_id}/scan-pii";
7605
+ };
7606
+ readonly getSchemaCatalog: {
7607
+ readonly method: "GET";
7608
+ readonly path: "/v1/projects/{project_id}/databases/{database_id}/schema-catalog";
7609
+ };
6993
7610
  };
6994
7611
  readonly platform: {
6995
7612
  readonly getHealth: {
@@ -7028,6 +7645,10 @@ declare const operationsByTag: {
7028
7645
  readonly method: "DELETE";
7029
7646
  readonly path: "/v1/projects/{project_id}/policies/{policy_id}";
7030
7647
  };
7648
+ readonly dryEvalPolicy: {
7649
+ readonly method: "POST";
7650
+ readonly path: "/v1/projects/{project_id}/policy-evaluations";
7651
+ };
7031
7652
  };
7032
7653
  readonly support: {
7033
7654
  readonly listSupportCases: {
@@ -7150,6 +7771,11 @@ declare const operationsByPath: {
7150
7771
  readonly path: "/v1/projects/{project_id}/audit-logs";
7151
7772
  readonly operationId: "listAuditLogs";
7152
7773
  };
7774
+ readonly "GET /v1/projects/{project_id}/audit-logs/export": {
7775
+ readonly method: "GET";
7776
+ readonly path: "/v1/projects/{project_id}/audit-logs/export";
7777
+ readonly operationId: "exportAuditLogs";
7778
+ };
7153
7779
  readonly "GET /v1/plans": {
7154
7780
  readonly method: "GET";
7155
7781
  readonly path: "/v1/plans";
@@ -7220,6 +7846,16 @@ declare const operationsByPath: {
7220
7846
  readonly path: "/v1/projects/{project_id}/databases/{database_id}/test-connection";
7221
7847
  readonly operationId: "testDatabaseConnection";
7222
7848
  };
7849
+ readonly "POST /v1/projects/{project_id}/databases/{database_id}/scan-pii": {
7850
+ readonly method: "POST";
7851
+ readonly path: "/v1/projects/{project_id}/databases/{database_id}/scan-pii";
7852
+ readonly operationId: "scanDatabaseForPii";
7853
+ };
7854
+ readonly "GET /v1/projects/{project_id}/databases/{database_id}/schema-catalog": {
7855
+ readonly method: "GET";
7856
+ readonly path: "/v1/projects/{project_id}/databases/{database_id}/schema-catalog";
7857
+ readonly operationId: "getSchemaCatalog";
7858
+ };
7223
7859
  readonly "GET /v1/projects/{project_id}/domains": {
7224
7860
  readonly method: "GET";
7225
7861
  readonly path: "/v1/projects/{project_id}/domains";
@@ -7290,6 +7926,11 @@ declare const operationsByPath: {
7290
7926
  readonly path: "/v1/projects/{project_id}/policies/{policy_id}";
7291
7927
  readonly operationId: "deletePolicyProfile";
7292
7928
  };
7929
+ readonly "POST /v1/projects/{project_id}/policy-evaluations": {
7930
+ readonly method: "POST";
7931
+ readonly path: "/v1/projects/{project_id}/policy-evaluations";
7932
+ readonly operationId: "dryEvalPolicy";
7933
+ };
7293
7934
  readonly "GET /v1/projects": {
7294
7935
  readonly method: "GET";
7295
7936
  readonly path: "/v1/projects";
@@ -7456,6 +8097,10 @@ type ListAuditLogsParams = {
7456
8097
  pathParams: NonNullable<ListAuditLogsRequestConfig["pathParams"]>;
7457
8098
  queryParams?: NonNullable<ListAuditLogsRequestConfig["queryParams"]>;
7458
8099
  };
8100
+ type ExportAuditLogsParams = {
8101
+ pathParams: NonNullable<ExportAuditLogsRequestConfig["pathParams"]>;
8102
+ queryParams?: NonNullable<ExportAuditLogsRequestConfig["queryParams"]>;
8103
+ };
7459
8104
  type GetOrganizationPlanParams = {
7460
8105
  pathParams: NonNullable<GetOrganizationPlanRequestConfig["pathParams"]>;
7461
8106
  };
@@ -7503,6 +8148,12 @@ type DeleteDatabaseParams = {
7503
8148
  type TestDatabaseConnectionParams = {
7504
8149
  pathParams: NonNullable<TestDatabaseConnectionRequestConfig["pathParams"]>;
7505
8150
  };
8151
+ type ScanDatabaseForPiiParams = {
8152
+ pathParams: NonNullable<ScanDatabaseForPiiRequestConfig["pathParams"]>;
8153
+ };
8154
+ type GetSchemaCatalogParams = {
8155
+ pathParams: NonNullable<GetSchemaCatalogRequestConfig["pathParams"]>;
8156
+ };
7506
8157
  type ListCustomDomainsParams = {
7507
8158
  pathParams: NonNullable<ListCustomDomainsRequestConfig["pathParams"]>;
7508
8159
  queryParams?: NonNullable<ListCustomDomainsRequestConfig["queryParams"]>;
@@ -7550,6 +8201,10 @@ type UpdatePolicyProfileParams = {
7550
8201
  type DeletePolicyProfileParams = {
7551
8202
  pathParams: NonNullable<DeletePolicyProfileRequestConfig["pathParams"]>;
7552
8203
  };
8204
+ type DryEvalPolicyParams = {
8205
+ pathParams: NonNullable<DryEvalPolicyRequestConfig["pathParams"]>;
8206
+ body: NonNullable<DryEvalPolicyRequestConfig["data"]>;
8207
+ };
7553
8208
  type ListProjectsParams = {
7554
8209
  queryParams: NonNullable<ListProjectsRequestConfig["queryParams"]>;
7555
8210
  };
@@ -7645,6 +8300,7 @@ interface ApiOperations {
7645
8300
  revokeAgentCredential(params: RevokeAgentCredentialParams): Promise<void>;
7646
8301
  rotateAgentCredential(params: RotateAgentCredentialParams): Promise<RotateAgentCredentialStatus200>;
7647
8302
  listAuditLogs(params: ListAuditLogsParams): Promise<ListAuditLogsStatus200>;
8303
+ exportAuditLogs(params: ExportAuditLogsParams): Promise<ExportAuditLogsStatus200>;
7648
8304
  };
7649
8305
  anomalies: {
7650
8306
  listAnomalyAlerts(params: ListAnomalyAlertsParams): Promise<ListAnomalyAlertsStatus200>;
@@ -7692,6 +8348,8 @@ interface ApiOperations {
7692
8348
  updateDatabase(params: UpdateDatabaseParams): Promise<UpdateDatabaseStatus200>;
7693
8349
  deleteDatabase(params: DeleteDatabaseParams): Promise<void>;
7694
8350
  testDatabaseConnection(params: TestDatabaseConnectionParams): Promise<TestDatabaseConnectionStatus200>;
8351
+ scanDatabaseForPii(params: ScanDatabaseForPiiParams): Promise<ScanDatabaseForPiiStatus200>;
8352
+ getSchemaCatalog(params: GetSchemaCatalogParams): Promise<GetSchemaCatalogStatus200>;
7695
8353
  };
7696
8354
  platform: {
7697
8355
  getHealth(): Promise<GetHealthStatus200>;
@@ -7706,6 +8364,7 @@ interface ApiOperations {
7706
8364
  getPolicyProfile(params: GetPolicyProfileParams): Promise<GetPolicyProfileStatus200>;
7707
8365
  updatePolicyProfile(params: UpdatePolicyProfileParams): Promise<UpdatePolicyProfileStatus200>;
7708
8366
  deletePolicyProfile(params: DeletePolicyProfileParams): Promise<void>;
8367
+ dryEvalPolicy(params: DryEvalPolicyParams): Promise<DryEvalPolicyStatus200>;
7709
8368
  };
7710
8369
  support: {
7711
8370
  listSupportCases(params: ListSupportCasesParams): Promise<ListSupportCasesStatus200>;
@@ -7779,6 +8438,10 @@ interface RequestMap {
7779
8438
  params: ListAuditLogsParams;
7780
8439
  response: ListAuditLogsStatus200;
7781
8440
  };
8441
+ "GET /v1/projects/{project_id}/audit-logs/export": {
8442
+ params: ExportAuditLogsParams;
8443
+ response: ExportAuditLogsStatus200;
8444
+ };
7782
8445
  "GET /v1/plans": {
7783
8446
  params?: undefined;
7784
8447
  response: ListPlansStatus200;
@@ -7835,6 +8498,14 @@ interface RequestMap {
7835
8498
  params: TestDatabaseConnectionParams;
7836
8499
  response: TestDatabaseConnectionStatus200;
7837
8500
  };
8501
+ "POST /v1/projects/{project_id}/databases/{database_id}/scan-pii": {
8502
+ params: ScanDatabaseForPiiParams;
8503
+ response: ScanDatabaseForPiiStatus200;
8504
+ };
8505
+ "GET /v1/projects/{project_id}/databases/{database_id}/schema-catalog": {
8506
+ params: GetSchemaCatalogParams;
8507
+ response: GetSchemaCatalogStatus200;
8508
+ };
7838
8509
  "GET /v1/projects/{project_id}/domains": {
7839
8510
  params: ListCustomDomainsParams;
7840
8511
  response: ListCustomDomainsStatus200;
@@ -7891,6 +8562,10 @@ interface RequestMap {
7891
8562
  params: DeletePolicyProfileParams;
7892
8563
  response: void;
7893
8564
  };
8565
+ "POST /v1/projects/{project_id}/policy-evaluations": {
8566
+ params: DryEvalPolicyParams;
8567
+ response: DryEvalPolicyStatus200;
8568
+ };
7894
8569
  "GET /v1/projects": {
7895
8570
  params: ListProjectsParams;
7896
8571
  response: ListProjectsStatus200;