@company-semantics/contracts 12.0.1 → 12.1.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": "12.0.1",
3
+ "version": "12.1.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 = '8d48325678a4' as const;
3
- export const SPEC_HASH_FULL = '8d48325678a4837e0921b96c4c80fd3fe898dbd26cabb48483e9a5f3f7f9e488' as const;
2
+ export const SPEC_HASH = '256c847768b8' as const;
3
+ export const SPEC_HASH_FULL = '256c847768b815079ad97a8b75438b3e3162e1caa223c7d8a97ac33285316192' as const;
@@ -1453,6 +1453,57 @@ export interface paths {
1453
1453
  patch?: never;
1454
1454
  trace?: never;
1455
1455
  };
1456
+ "/api/company-md/docs/{slug}/transfer-owner": {
1457
+ parameters: {
1458
+ query?: never;
1459
+ header?: never;
1460
+ path?: never;
1461
+ cookie?: never;
1462
+ };
1463
+ get?: never;
1464
+ put?: never;
1465
+ /** Admin: reassign a company.md document owner */
1466
+ post: operations["transferCompanyMdDocOwner"];
1467
+ delete?: never;
1468
+ options?: never;
1469
+ head?: never;
1470
+ patch?: never;
1471
+ trace?: never;
1472
+ };
1473
+ "/api/company-md/ownership/reassign": {
1474
+ parameters: {
1475
+ query?: never;
1476
+ header?: never;
1477
+ path?: never;
1478
+ cookie?: never;
1479
+ };
1480
+ get?: never;
1481
+ put?: never;
1482
+ /** Admin: reassign every company.md document from one owner to another */
1483
+ post: operations["bulkReassignCompanyMdOwnership"];
1484
+ delete?: never;
1485
+ options?: never;
1486
+ head?: never;
1487
+ patch?: never;
1488
+ trace?: never;
1489
+ };
1490
+ "/api/company-md/ownership/reassign/suggestion": {
1491
+ parameters: {
1492
+ query?: never;
1493
+ header?: never;
1494
+ path?: never;
1495
+ cookie?: never;
1496
+ };
1497
+ /** Admin: suggest a default reassign recipient and list owned docs */
1498
+ get: operations["getCompanyMdOwnershipSuggestion"];
1499
+ put?: never;
1500
+ post?: never;
1501
+ delete?: never;
1502
+ options?: never;
1503
+ head?: never;
1504
+ patch?: never;
1505
+ trace?: never;
1506
+ };
1456
1507
  "/api/company-md/search": {
1457
1508
  parameters: {
1458
1509
  query?: never;
@@ -3846,6 +3897,16 @@ export interface components {
3846
3897
  AssociateContextDocRequest: {
3847
3898
  contextDocSlug: string;
3848
3899
  };
3900
+ TransferCompanyMdDocOwnerRequest: {
3901
+ /** Format: uuid */
3902
+ newOwnerUserId: string;
3903
+ };
3904
+ BulkReassignCompanyMdOwnershipRequest: {
3905
+ /** Format: uuid */
3906
+ fromUserId: string;
3907
+ /** Format: uuid */
3908
+ toUserId: string;
3909
+ };
3849
3910
  /** @description Ranked retrieval hits plus the source kinds actually searched. */
3850
3911
  CompanyMdSearchResponse: {
3851
3912
  hits: {
@@ -7160,6 +7221,86 @@ export interface operations {
7160
7221
  };
7161
7222
  };
7162
7223
  };
7224
+ transferCompanyMdDocOwner: {
7225
+ parameters: {
7226
+ query?: never;
7227
+ header?: never;
7228
+ path: {
7229
+ slug: string;
7230
+ };
7231
+ cookie?: never;
7232
+ };
7233
+ requestBody: {
7234
+ content: {
7235
+ "application/json": components["schemas"]["TransferCompanyMdDocOwnerRequest"];
7236
+ };
7237
+ };
7238
+ responses: {
7239
+ /** @description Owner reassigned */
7240
+ 200: {
7241
+ headers: {
7242
+ [name: string]: unknown;
7243
+ };
7244
+ content?: never;
7245
+ };
7246
+ /** @description Document not found */
7247
+ 404: {
7248
+ headers: {
7249
+ [name: string]: unknown;
7250
+ };
7251
+ content?: never;
7252
+ };
7253
+ };
7254
+ };
7255
+ bulkReassignCompanyMdOwnership: {
7256
+ parameters: {
7257
+ query?: never;
7258
+ header?: never;
7259
+ path?: never;
7260
+ cookie?: never;
7261
+ };
7262
+ requestBody: {
7263
+ content: {
7264
+ "application/json": components["schemas"]["BulkReassignCompanyMdOwnershipRequest"];
7265
+ };
7266
+ };
7267
+ responses: {
7268
+ /** @description Bulk reassignment complete */
7269
+ 200: {
7270
+ headers: {
7271
+ [name: string]: unknown;
7272
+ };
7273
+ content?: never;
7274
+ };
7275
+ /** @description Recipient is not an active member */
7276
+ 400: {
7277
+ headers: {
7278
+ [name: string]: unknown;
7279
+ };
7280
+ content?: never;
7281
+ };
7282
+ };
7283
+ };
7284
+ getCompanyMdOwnershipSuggestion: {
7285
+ parameters: {
7286
+ query: {
7287
+ fromUserId: string;
7288
+ };
7289
+ header?: never;
7290
+ path?: never;
7291
+ cookie?: never;
7292
+ };
7293
+ requestBody?: never;
7294
+ responses: {
7295
+ /** @description Suggested recipient and owned-doc metadata */
7296
+ 200: {
7297
+ headers: {
7298
+ [name: string]: unknown;
7299
+ };
7300
+ content?: never;
7301
+ };
7302
+ };
7303
+ };
7163
7304
  searchCompanyMd: {
7164
7305
  parameters: {
7165
7306
  query?: never;
@@ -34,7 +34,10 @@ export const openApiRoutes = {
34
34
  '/api/company-md/docs/{slug}/sharing/acl/{aclId}': ['DELETE', 'PUT'],
35
35
  '/api/company-md/docs/{slug}/sharing/policy': ['PUT'],
36
36
  '/api/company-md/docs/{slug}/title': ['PUT'],
37
+ '/api/company-md/docs/{slug}/transfer-owner': ['POST'],
37
38
  '/api/company-md/extract': ['POST'],
39
+ '/api/company-md/ownership/reassign': ['POST'],
40
+ '/api/company-md/ownership/reassign/suggestion': ['GET'],
38
41
  '/api/company-md/search': ['POST'],
39
42
  '/api/company-md/tree': ['GET'],
40
43
  '/api/drive/files': ['GET'],
package/src/org/index.ts CHANGED
@@ -143,6 +143,7 @@ export {
143
143
  TestSsoResultSchema,
144
144
  RemoveMemberResponseSchema,
145
145
  ChangeMemberRoleResponseSchema,
146
+ SetMemberManagerResponseSchema,
146
147
  UserOrgsResponseSchema,
147
148
  SetActiveOrgResponseSchema,
148
149
  LeaveOrgResponseSchema,
@@ -165,6 +166,7 @@ export type {
165
166
  TestSsoResult as TestSsoResultDto,
166
167
  RemoveMemberResponse,
167
168
  ChangeMemberRoleResponse,
169
+ SetMemberManagerResponse,
168
170
  UserOrgsResponse,
169
171
  SetActiveOrgResponse,
170
172
  LeaveOrgResponse,
@@ -444,6 +444,31 @@ export type ChangeMemberRoleResponse = z.infer<
444
444
  typeof ChangeMemberRoleResponseSchema
445
445
  >;
446
446
 
447
+ // ---------------------------------------------------------------------------
448
+ // PATCH/DELETE /api/workspace/members/:id/manager
449
+ // ---------------------------------------------------------------------------
450
+
451
+ /**
452
+ * Response for setting (PATCH) or clearing (DELETE) a member's solid-line
453
+ * manager — the person-to-person reporting edge (`user_reporting`) that the
454
+ * org chart is built from. `managerUserId` is null after a clear.
455
+ *
456
+ * Distinct from team membership (RBAC scopes) and `primary_unit_id` (home
457
+ * unit): neither of those places a person in the reporting hierarchy.
458
+ * See ADR-BE-250.
459
+ */
460
+ export const SetMemberManagerResponseSchema = z.object({
461
+ success: z.boolean(),
462
+ memberId: z.string(),
463
+ managerUserId: z.string().nullable(),
464
+ relationshipType: z.string(),
465
+ message: z.string(),
466
+ });
467
+
468
+ export type SetMemberManagerResponse = z.infer<
469
+ typeof SetMemberManagerResponseSchema
470
+ >;
471
+
447
472
  // ---------------------------------------------------------------------------
448
473
  // GET /api/user/orgs
449
474
  // ---------------------------------------------------------------------------