@company-semantics/contracts 2.15.0 → 2.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@company-semantics/contracts",
3
- "version": "2.15.0",
3
+ "version": "2.16.0",
4
4
  "private": false,
5
5
  "repository": {
6
6
  "type": "git",
@@ -2467,6 +2467,92 @@ export interface paths {
2467
2467
  patch?: never;
2468
2468
  trace?: never;
2469
2469
  };
2470
+ "/api/{entityType}/{id}/acl": {
2471
+ parameters: {
2472
+ query?: never;
2473
+ header?: never;
2474
+ path?: never;
2475
+ cookie?: never;
2476
+ };
2477
+ /** List active ACL grants + visibility + owner for an entity */
2478
+ get: operations["getEntityAcl"];
2479
+ put?: never;
2480
+ post?: never;
2481
+ delete?: never;
2482
+ options?: never;
2483
+ head?: never;
2484
+ patch?: never;
2485
+ trace?: never;
2486
+ };
2487
+ "/api/{entityType}/{id}/acl/{principalType}/{principalId}": {
2488
+ parameters: {
2489
+ query?: never;
2490
+ header?: never;
2491
+ path?: never;
2492
+ cookie?: never;
2493
+ };
2494
+ get?: never;
2495
+ /** Grant (or update) a principal access to an entity */
2496
+ put: operations["upsertEntityAclGrant"];
2497
+ post?: never;
2498
+ /** Revoke a principal’s access to an entity */
2499
+ delete: operations["revokeEntityAclGrant"];
2500
+ options?: never;
2501
+ head?: never;
2502
+ patch?: never;
2503
+ trace?: never;
2504
+ };
2505
+ "/api/{entityType}/{id}/visibility": {
2506
+ parameters: {
2507
+ query?: never;
2508
+ header?: never;
2509
+ path?: never;
2510
+ cookie?: never;
2511
+ };
2512
+ get?: never;
2513
+ put?: never;
2514
+ post?: never;
2515
+ delete?: never;
2516
+ options?: never;
2517
+ head?: never;
2518
+ /** Change the visibility tier of an entity (owner-only) */
2519
+ patch: operations["patchEntityVisibility"];
2520
+ trace?: never;
2521
+ };
2522
+ "/api/{entityType}/{id}/transfer-ownership": {
2523
+ parameters: {
2524
+ query?: never;
2525
+ header?: never;
2526
+ path?: never;
2527
+ cookie?: never;
2528
+ };
2529
+ get?: never;
2530
+ put?: never;
2531
+ /** Transfer ownership of an entity to another user (owner-only) */
2532
+ post: operations["transferEntityOwnership"];
2533
+ delete?: never;
2534
+ options?: never;
2535
+ head?: never;
2536
+ patch?: never;
2537
+ trace?: never;
2538
+ };
2539
+ "/api/{entityType}/{id}/effective-access": {
2540
+ parameters: {
2541
+ query?: never;
2542
+ header?: never;
2543
+ path?: never;
2544
+ cookie?: never;
2545
+ };
2546
+ get?: never;
2547
+ put?: never;
2548
+ /** Resolve a principal’s effective access on an entity */
2549
+ post: operations["getEntityEffectiveAccess"];
2550
+ delete?: never;
2551
+ options?: never;
2552
+ head?: never;
2553
+ patch?: never;
2554
+ trace?: never;
2555
+ };
2470
2556
  "/api/internal-admin/impersonate/start": {
2471
2557
  parameters: {
2472
2558
  query?: never;
@@ -4401,6 +4487,26 @@ export interface components {
4401
4487
  /** @enum {string} */
4402
4488
  accessLevel: "viewer" | "commenter" | "editor";
4403
4489
  };
4490
+ AclGrantRequest: {
4491
+ /** @enum {string} */
4492
+ access_level: "editor" | "commenter" | "viewer";
4493
+ };
4494
+ VisibilityPatchRequest: {
4495
+ /** @enum {string} */
4496
+ tier: "private" | "unit" | "org";
4497
+ };
4498
+ OwnerTransferRequest: {
4499
+ /** Format: uuid */
4500
+ new_owner_user_id: string;
4501
+ };
4502
+ EffectiveAccessRequest: {
4503
+ principal: {
4504
+ /** @enum {string} */
4505
+ type: "user" | "unit" | "org";
4506
+ /** Format: uuid */
4507
+ id: string;
4508
+ };
4509
+ };
4404
4510
  ImpersonationSessionResponse: {
4405
4511
  session: {
4406
4512
  impersonationSessionId: string;
@@ -8444,6 +8550,208 @@ export interface operations {
8444
8550
  };
8445
8551
  };
8446
8552
  };
8553
+ getEntityAcl: {
8554
+ parameters: {
8555
+ query?: never;
8556
+ header?: never;
8557
+ path: {
8558
+ entityType: string;
8559
+ id: string;
8560
+ };
8561
+ cookie?: never;
8562
+ };
8563
+ requestBody?: never;
8564
+ responses: {
8565
+ /** @description Owner, visibility, and active ACL grants for the entity */
8566
+ 200: {
8567
+ headers: {
8568
+ [name: string]: unknown;
8569
+ };
8570
+ content?: never;
8571
+ };
8572
+ /** @description Entity not found or not visible to this caller */
8573
+ 404: {
8574
+ headers: {
8575
+ [name: string]: unknown;
8576
+ };
8577
+ content?: never;
8578
+ };
8579
+ };
8580
+ };
8581
+ upsertEntityAclGrant: {
8582
+ parameters: {
8583
+ query?: never;
8584
+ header?: never;
8585
+ path: {
8586
+ entityType: string;
8587
+ id: string;
8588
+ principalType: string;
8589
+ principalId: string;
8590
+ };
8591
+ cookie?: never;
8592
+ };
8593
+ requestBody: {
8594
+ content: {
8595
+ "application/json": components["schemas"]["AclGrantRequest"];
8596
+ };
8597
+ };
8598
+ responses: {
8599
+ /** @description Grant upserted */
8600
+ 200: {
8601
+ headers: {
8602
+ [name: string]: unknown;
8603
+ };
8604
+ content?: never;
8605
+ };
8606
+ /** @description Entity not found or not visible to this caller */
8607
+ 404: {
8608
+ headers: {
8609
+ [name: string]: unknown;
8610
+ };
8611
+ content?: never;
8612
+ };
8613
+ };
8614
+ };
8615
+ revokeEntityAclGrant: {
8616
+ parameters: {
8617
+ query?: never;
8618
+ header?: never;
8619
+ path: {
8620
+ entityType: string;
8621
+ id: string;
8622
+ principalType: string;
8623
+ principalId: string;
8624
+ };
8625
+ cookie?: never;
8626
+ };
8627
+ requestBody?: never;
8628
+ responses: {
8629
+ /** @description Grant revoked */
8630
+ 204: {
8631
+ headers: {
8632
+ [name: string]: unknown;
8633
+ };
8634
+ content?: never;
8635
+ };
8636
+ /** @description Entity not found or not visible to this caller */
8637
+ 404: {
8638
+ headers: {
8639
+ [name: string]: unknown;
8640
+ };
8641
+ content?: never;
8642
+ };
8643
+ };
8644
+ };
8645
+ patchEntityVisibility: {
8646
+ parameters: {
8647
+ query?: never;
8648
+ header?: never;
8649
+ path: {
8650
+ entityType: string;
8651
+ id: string;
8652
+ };
8653
+ cookie?: never;
8654
+ };
8655
+ requestBody: {
8656
+ content: {
8657
+ "application/json": components["schemas"]["VisibilityPatchRequest"];
8658
+ };
8659
+ };
8660
+ responses: {
8661
+ /** @description Visibility updated */
8662
+ 204: {
8663
+ headers: {
8664
+ [name: string]: unknown;
8665
+ };
8666
+ content?: never;
8667
+ };
8668
+ /** @description Invalid tier for this entity type (e.g. unit on meetings) */
8669
+ 400: {
8670
+ headers: {
8671
+ [name: string]: unknown;
8672
+ };
8673
+ content?: never;
8674
+ };
8675
+ /** @description Entity not found or not visible to this caller */
8676
+ 404: {
8677
+ headers: {
8678
+ [name: string]: unknown;
8679
+ };
8680
+ content?: never;
8681
+ };
8682
+ };
8683
+ };
8684
+ transferEntityOwnership: {
8685
+ parameters: {
8686
+ query?: never;
8687
+ header?: never;
8688
+ path: {
8689
+ entityType: string;
8690
+ id: string;
8691
+ };
8692
+ cookie?: never;
8693
+ };
8694
+ requestBody: {
8695
+ content: {
8696
+ "application/json": components["schemas"]["OwnerTransferRequest"];
8697
+ };
8698
+ };
8699
+ responses: {
8700
+ /** @description Ownership transferred */
8701
+ 204: {
8702
+ headers: {
8703
+ [name: string]: unknown;
8704
+ };
8705
+ content?: never;
8706
+ };
8707
+ /** @description Transfer not permitted for this entity type (e.g. meetings) */
8708
+ 400: {
8709
+ headers: {
8710
+ [name: string]: unknown;
8711
+ };
8712
+ content?: never;
8713
+ };
8714
+ /** @description Entity not found or not visible to this caller */
8715
+ 404: {
8716
+ headers: {
8717
+ [name: string]: unknown;
8718
+ };
8719
+ content?: never;
8720
+ };
8721
+ };
8722
+ };
8723
+ getEntityEffectiveAccess: {
8724
+ parameters: {
8725
+ query?: never;
8726
+ header?: never;
8727
+ path: {
8728
+ entityType: string;
8729
+ id: string;
8730
+ };
8731
+ cookie?: never;
8732
+ };
8733
+ requestBody: {
8734
+ content: {
8735
+ "application/json": components["schemas"]["EffectiveAccessRequest"];
8736
+ };
8737
+ };
8738
+ responses: {
8739
+ /** @description Most-permissive access level + source chain */
8740
+ 200: {
8741
+ headers: {
8742
+ [name: string]: unknown;
8743
+ };
8744
+ content?: never;
8745
+ };
8746
+ /** @description Entity not found or not visible to this caller */
8747
+ 404: {
8748
+ headers: {
8749
+ [name: string]: unknown;
8750
+ };
8751
+ content?: never;
8752
+ };
8753
+ };
8754
+ };
8447
8755
  startImpersonation: {
8448
8756
  parameters: {
8449
8757
  query?: never;
@@ -140,6 +140,11 @@ export const openApiRoutes = {
140
140
  '/api/workspace/resolve-path': ['POST'],
141
141
  '/api/workspace/resync-slack-logo': ['POST'],
142
142
  '/api/workspace/work-item-counts': ['GET'],
143
+ '/api/{entityType}/{id}/acl': ['GET'],
144
+ '/api/{entityType}/{id}/acl/{principalType}/{principalId}': ['DELETE', 'PUT'],
145
+ '/api/{entityType}/{id}/effective-access': ['POST'],
146
+ '/api/{entityType}/{id}/transfer-ownership': ['POST'],
147
+ '/api/{entityType}/{id}/visibility': ['PATCH'],
143
148
  '/auth/logout': ['POST'],
144
149
  '/auth/me': ['GET'],
145
150
  '/auth/sso/callback': ['GET', 'POST'],