@company-semantics/contracts 27.8.0 → 27.10.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": "27.8.0",
3
+ "version": "27.10.0",
4
4
  "private": false,
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,3 +1,3 @@
1
1
  // AUTO-GENERATED — do not edit. Run pnpm generate:spec-hash to regenerate.
2
- export const SPEC_HASH = '1c5dcd23d461' as const;
3
- export const SPEC_HASH_FULL = '1c5dcd23d46109024a008dea6440892f9a1ccd0b725fc6e0ed0bb3abe28bf78d' as const;
2
+ export const SPEC_HASH = '3959df952d48' as const;
3
+ export const SPEC_HASH_FULL = '3959df952d4880e34660edefd2cf9cab597ed8ac54ce74bc60bcb16dc6c18652' as const;
@@ -736,23 +736,6 @@ export interface paths {
736
736
  patch: operations["setMemberManager"];
737
737
  trace?: never;
738
738
  };
739
- "/api/reporting/bulk-reparent": {
740
- parameters: {
741
- query?: never;
742
- header?: never;
743
- path?: never;
744
- cookie?: never;
745
- };
746
- get?: never;
747
- put?: never;
748
- /** Atomically re-point many members' solid manager to one new manager */
749
- post: operations["bulkReparentReporting"];
750
- delete?: never;
751
- options?: never;
752
- head?: never;
753
- patch?: never;
754
- trace?: never;
755
- };
756
739
  "/api/reporting/move/preview": {
757
740
  parameters: {
758
741
  query?: never;
@@ -3912,37 +3895,6 @@ export interface components {
3912
3895
  openRoleId: string;
3913
3896
  };
3914
3897
  };
3915
- BulkReparentReportingResponse: {
3916
- /** @constant */
3917
- success: true;
3918
- movedCount: number;
3919
- toManager: {
3920
- /** @constant */
3921
- kind: "member";
3922
- /** Format: uuid */
3923
- userId: string;
3924
- } | {
3925
- /** @constant */
3926
- kind: "open-role";
3927
- /** Format: uuid */
3928
- openRoleId: string;
3929
- };
3930
- };
3931
- BulkReparentReportingRequest: {
3932
- memberIds: string[];
3933
- toManager: {
3934
- /** @constant */
3935
- kind: "member";
3936
- /** Format: uuid */
3937
- userId: string;
3938
- } | {
3939
- /** @constant */
3940
- kind: "open-role";
3941
- /** Format: uuid */
3942
- openRoleId: string;
3943
- };
3944
- idempotencyKey: string;
3945
- };
3946
3898
  MovePreviewRequest: {
3947
3899
  /** @constant */
3948
3900
  kind: "reporting.setManager";
@@ -3990,6 +3942,7 @@ export interface components {
3990
3942
  title: string;
3991
3943
  })[];
3992
3944
  reason: string | null;
3945
+ /** Format: uuid */
3993
3946
  idempotencyKey: string;
3994
3947
  };
3995
3948
  SubmitInteractiveTaskResponse: {
@@ -5637,6 +5590,8 @@ export interface components {
5637
5590
  VisibilityPatchRequest: {
5638
5591
  /** @enum {string} */
5639
5592
  tier: "private" | "unit" | "org";
5593
+ /** @enum {string} */
5594
+ role?: "editor" | "commenter" | "viewer";
5640
5595
  };
5641
5596
  OwnerTransferRequest: {
5642
5597
  /** Format: uuid */
@@ -7109,30 +7064,6 @@ export interface operations {
7109
7064
  };
7110
7065
  };
7111
7066
  };
7112
- bulkReparentReporting: {
7113
- parameters: {
7114
- query?: never;
7115
- header?: never;
7116
- path?: never;
7117
- cookie?: never;
7118
- };
7119
- requestBody: {
7120
- content: {
7121
- "application/json": components["schemas"]["BulkReparentReportingRequest"];
7122
- };
7123
- };
7124
- responses: {
7125
- /** @description Cluster reorg applied atomically */
7126
- 200: {
7127
- headers: {
7128
- [name: string]: unknown;
7129
- };
7130
- content: {
7131
- "application/json": components["schemas"]["BulkReparentReportingResponse"];
7132
- };
7133
- };
7134
- };
7135
- };
7136
7067
  previewReportingMove: {
7137
7068
  parameters: {
7138
7069
  query?: never;
@@ -125,7 +125,6 @@ export const openApiRoutes = {
125
125
  '/api/orgs/{orgId}/budget-config': ['GET', 'PUT'],
126
126
  '/api/orgs/{orgId}/level-config': ['GET', 'PUT'],
127
127
  '/api/rbac/roles': ['GET'],
128
- '/api/reporting/bulk-reparent': ['POST'],
129
128
  '/api/reporting/move/apply': ['POST'],
130
129
  '/api/reporting/move/preview': ['POST'],
131
130
  '/api/scope/check': ['GET'],
@@ -62,14 +62,29 @@ export const AclListResponseSchema = z.object({
62
62
  entity_type: z.string(),
63
63
  entity_id: z.string().uuid(),
64
64
  owner_user_id: z.string().uuid().nullable(),
65
+ /** General-access scope: WHO is eligible (the discoverability axis). */
65
66
  visibility: EntityVisibilitySchema,
67
+ /**
68
+ * The ROLE the general-access scope grants its audience: WHAT they may do (the
69
+ * capability axis, ADR-BE-378). Orthogonal to `visibility` — e.g. "Everyone in
70
+ * Product · Commenter". Defaults to `viewer` (the historical view-only band);
71
+ * ignored when `visibility` is `private` (no general grant).
72
+ */
73
+ general_access_role: GrantableAccessLevelSchema.default("viewer"),
66
74
  editors_can_share: z.boolean(),
67
75
  grants: z.array(AclGrantResponseSchema),
68
76
  });
69
77
  export type AclListResponse = z.infer<typeof AclListResponseSchema>;
70
78
 
71
79
  export const VisibilityPatchRequestSchema = z.object({
80
+ /** The general-access scope (WHO is eligible). */
72
81
  tier: EntityVisibilitySchema,
82
+ /**
83
+ * The role granted to that scope (WHAT they may do, ADR-BE-378). Optional and
84
+ * backward-compatible: omitted preserves the current role (or `viewer` on first
85
+ * set); ignored when `tier` is `private`.
86
+ */
87
+ role: GrantableAccessLevelSchema.optional(),
73
88
  });
74
89
  export type VisibilityPatchRequest = z.infer<
75
90
  typeof VisibilityPatchRequestSchema