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.
- package/dist/index.cjs +36 -0
- package/dist/index.d.cts +867 -52
- package/dist/index.d.mts +867 -52
- package/dist/index.mjs +36 -0
- package/dist/operations.cjs +36 -0
- package/dist/operations.d.cts +677 -2
- package/dist/operations.d.mts +677 -2
- package/dist/operations.mjs +36 -0
- package/package.json +1 -1
package/dist/operations.d.mts
CHANGED
|
@@ -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
|
|
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;
|