@company-semantics/contracts 27.8.0 → 27.9.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.9.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 = '3974d23a4348' as const;
3
+ export const SPEC_HASH_FULL = '3974d23a434834c5a1f81d93ef082b993014143e7b95e97dd775293045809af8' 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";
@@ -7109,30 +7061,6 @@ export interface operations {
7109
7061
  };
7110
7062
  };
7111
7063
  };
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
7064
  previewReportingMove: {
7137
7065
  parameters: {
7138
7066
  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-375). 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-375). 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