@company-semantics/contracts 83.1.0 → 83.2.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": "83.1.0",
3
+ "version": "83.2.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 = 'e485ddbb7682' as const;
3
- export const SPEC_HASH_FULL = 'e485ddbb7682e98908329d4b788ce63dd32e00c23a6360e344d953ae9a42fc0e' as const;
2
+ export const SPEC_HASH = 'ed793823fd73' as const;
3
+ export const SPEC_HASH_FULL = 'ed793823fd7383fa2708a90aca342dd575fcc636aa8286958832e4096f032745' as const;
@@ -3367,7 +3367,7 @@ export interface paths {
3367
3367
  };
3368
3368
  /**
3369
3369
  * What I owe and what happened, merged, newest first
3370
- * @description Actionable rows first, then informational rows newest-first — grouped, not chronologically interleaved. Only the informational half paginates.
3370
+ * @description Actionable rows first (the same in every view), then the informational rows of the requested view (view: all | unread) — unread-and-unresolved first, each by latest activity. Grouped, not chronologically interleaved. Only the informational half paginates.
3371
3371
  */
3372
3372
  get: operations["listMyFeed"];
3373
3373
  put?: never;
@@ -3387,7 +3387,10 @@ export interface paths {
3387
3387
  };
3388
3388
  get?: never;
3389
3389
  put?: never;
3390
- /** Mark specific notifications read */
3390
+ /**
3391
+ * Mark selected notifications read
3392
+ * @description Selected by ids or by view snapshot (asOf). Only the actor’s own rows.
3393
+ */
3391
3394
  post: operations["markMyFeedRead"];
3392
3395
  delete?: never;
3393
3396
  options?: never;
@@ -3412,6 +3415,83 @@ export interface paths {
3412
3415
  patch?: never;
3413
3416
  trace?: never;
3414
3417
  };
3418
+ "/api/me/feed/unread": {
3419
+ parameters: {
3420
+ query?: never;
3421
+ header?: never;
3422
+ path?: never;
3423
+ cookie?: never;
3424
+ };
3425
+ get?: never;
3426
+ put?: never;
3427
+ /**
3428
+ * Mark selected notifications unread
3429
+ * @description Selected by ids or by view snapshot (asOf). Resolved and deleted rows are never marked unread.
3430
+ */
3431
+ post: operations["markMyFeedUnread"];
3432
+ delete?: never;
3433
+ options?: never;
3434
+ head?: never;
3435
+ patch?: never;
3436
+ trace?: never;
3437
+ };
3438
+ "/api/me/feed/delete": {
3439
+ parameters: {
3440
+ query?: never;
3441
+ header?: never;
3442
+ path?: never;
3443
+ cookie?: never;
3444
+ };
3445
+ get?: never;
3446
+ put?: never;
3447
+ /**
3448
+ * Delete selected notifications, undoable by restore
3449
+ * @description Soft-deletes the actor’s own selected rows under one opaque restoreKey. The entity a row is about is never touched.
3450
+ */
3451
+ post: operations["deleteMyFeedItems"];
3452
+ delete?: never;
3453
+ options?: never;
3454
+ head?: never;
3455
+ patch?: never;
3456
+ trace?: never;
3457
+ };
3458
+ "/api/me/feed/restore": {
3459
+ parameters: {
3460
+ query?: never;
3461
+ header?: never;
3462
+ path?: never;
3463
+ cookie?: never;
3464
+ };
3465
+ get?: never;
3466
+ put?: never;
3467
+ /**
3468
+ * Undo a delete by its restoreKey
3469
+ * @description Restores the rows one delete removed. A row whose condition already has a newer active row stays deleted and is counted as superseded.
3470
+ */
3471
+ post: operations["restoreMyFeedItems"];
3472
+ delete?: never;
3473
+ options?: never;
3474
+ head?: never;
3475
+ patch?: never;
3476
+ trace?: never;
3477
+ };
3478
+ "/api/me/feed/clear-resolved": {
3479
+ parameters: {
3480
+ query?: never;
3481
+ header?: never;
3482
+ path?: never;
3483
+ cookie?: never;
3484
+ };
3485
+ get?: never;
3486
+ put?: never;
3487
+ /** Delete every resolved notification, undoable by restore */
3488
+ post: operations["clearMyFeedResolved"];
3489
+ delete?: never;
3490
+ options?: never;
3491
+ head?: never;
3492
+ patch?: never;
3493
+ trace?: never;
3494
+ };
3415
3495
  "/api/me/meetings/recordings/start": {
3416
3496
  parameters: {
3417
3497
  query?: never;
@@ -7715,6 +7795,62 @@ export interface components {
7715
7795
  unreadCount: number;
7716
7796
  truncated: boolean;
7717
7797
  };
7798
+ FeedMutationResponse: {
7799
+ affected: number;
7800
+ };
7801
+ FeedMarkReadRequest: {
7802
+ selector: {
7803
+ /** @constant */
7804
+ kind: "ids";
7805
+ notificationIds: string[];
7806
+ } | {
7807
+ /** @constant */
7808
+ kind: "view";
7809
+ /** @enum {string} */
7810
+ view: "all" | "unread";
7811
+ /** Format: date-time */
7812
+ asOf: string;
7813
+ };
7814
+ };
7815
+ FeedMarkUnreadRequest: {
7816
+ selector: {
7817
+ /** @constant */
7818
+ kind: "ids";
7819
+ notificationIds: string[];
7820
+ } | {
7821
+ /** @constant */
7822
+ kind: "view";
7823
+ /** @enum {string} */
7824
+ view: "all" | "unread";
7825
+ /** Format: date-time */
7826
+ asOf: string;
7827
+ };
7828
+ };
7829
+ FeedDeleteResponse: {
7830
+ affected: number;
7831
+ restoreKey: string;
7832
+ };
7833
+ FeedDeleteRequest: {
7834
+ selector: {
7835
+ /** @constant */
7836
+ kind: "ids";
7837
+ notificationIds: string[];
7838
+ } | {
7839
+ /** @constant */
7840
+ kind: "view";
7841
+ /** @enum {string} */
7842
+ view: "all" | "unread";
7843
+ /** Format: date-time */
7844
+ asOf: string;
7845
+ };
7846
+ };
7847
+ FeedRestoreResponse: {
7848
+ restored: number;
7849
+ superseded: number;
7850
+ };
7851
+ FeedRestoreRequest: {
7852
+ restoreKey: string;
7853
+ };
7718
7854
  /** @description Recording + work_item ids and the transcription session grant. */
7719
7855
  StartMeetingRecordingResponse: {
7720
7856
  /** @description ULID; unified trace key for the recording (INV-MTG-7). */
@@ -15352,7 +15488,8 @@ export interface operations {
15352
15488
  };
15353
15489
  listMyFeed: {
15354
15490
  parameters: {
15355
- query?: {
15491
+ query: {
15492
+ view: "all" | "unread";
15356
15493
  cursor?: string;
15357
15494
  };
15358
15495
  header?: never;
@@ -15379,14 +15516,20 @@ export interface operations {
15379
15516
  path?: never;
15380
15517
  cookie?: never;
15381
15518
  };
15382
- requestBody?: never;
15519
+ requestBody: {
15520
+ content: {
15521
+ "application/json": components["schemas"]["FeedMarkReadRequest"];
15522
+ };
15523
+ };
15383
15524
  responses: {
15384
- /** @description Read state applied to the actor’s own rows */
15525
+ /** @description How many of the actor’s own rows were marked read */
15385
15526
  200: {
15386
15527
  headers: {
15387
15528
  [name: string]: unknown;
15388
15529
  };
15389
- content?: never;
15530
+ content: {
15531
+ "application/json": components["schemas"]["FeedMutationResponse"];
15532
+ };
15390
15533
  };
15391
15534
  };
15392
15535
  };
@@ -15399,12 +15542,106 @@ export interface operations {
15399
15542
  };
15400
15543
  requestBody?: never;
15401
15544
  responses: {
15402
- /** @description Read state applied to the actor’s own rows */
15545
+ /** @description How many of the actor’s own rows were marked read */
15403
15546
  200: {
15404
15547
  headers: {
15405
15548
  [name: string]: unknown;
15406
15549
  };
15407
- content?: never;
15550
+ content: {
15551
+ "application/json": components["schemas"]["FeedMutationResponse"];
15552
+ };
15553
+ };
15554
+ };
15555
+ };
15556
+ markMyFeedUnread: {
15557
+ parameters: {
15558
+ query?: never;
15559
+ header?: never;
15560
+ path?: never;
15561
+ cookie?: never;
15562
+ };
15563
+ requestBody: {
15564
+ content: {
15565
+ "application/json": components["schemas"]["FeedMarkUnreadRequest"];
15566
+ };
15567
+ };
15568
+ responses: {
15569
+ /** @description How many of the actor’s own rows were marked unread */
15570
+ 200: {
15571
+ headers: {
15572
+ [name: string]: unknown;
15573
+ };
15574
+ content: {
15575
+ "application/json": components["schemas"]["FeedMutationResponse"];
15576
+ };
15577
+ };
15578
+ };
15579
+ };
15580
+ deleteMyFeedItems: {
15581
+ parameters: {
15582
+ query?: never;
15583
+ header?: never;
15584
+ path?: never;
15585
+ cookie?: never;
15586
+ };
15587
+ requestBody: {
15588
+ content: {
15589
+ "application/json": components["schemas"]["FeedDeleteRequest"];
15590
+ };
15591
+ };
15592
+ responses: {
15593
+ /** @description How many rows were deleted, and the key that restores exactly them */
15594
+ 200: {
15595
+ headers: {
15596
+ [name: string]: unknown;
15597
+ };
15598
+ content: {
15599
+ "application/json": components["schemas"]["FeedDeleteResponse"];
15600
+ };
15601
+ };
15602
+ };
15603
+ };
15604
+ restoreMyFeedItems: {
15605
+ parameters: {
15606
+ query?: never;
15607
+ header?: never;
15608
+ path?: never;
15609
+ cookie?: never;
15610
+ };
15611
+ requestBody: {
15612
+ content: {
15613
+ "application/json": components["schemas"]["FeedRestoreRequest"];
15614
+ };
15615
+ };
15616
+ responses: {
15617
+ /** @description How many rows were restored, and how many a newer row superseded */
15618
+ 200: {
15619
+ headers: {
15620
+ [name: string]: unknown;
15621
+ };
15622
+ content: {
15623
+ "application/json": components["schemas"]["FeedRestoreResponse"];
15624
+ };
15625
+ };
15626
+ };
15627
+ };
15628
+ clearMyFeedResolved: {
15629
+ parameters: {
15630
+ query?: never;
15631
+ header?: never;
15632
+ path?: never;
15633
+ cookie?: never;
15634
+ };
15635
+ requestBody?: never;
15636
+ responses: {
15637
+ /** @description How many resolved rows were deleted, and the key that restores them */
15638
+ 200: {
15639
+ headers: {
15640
+ [name: string]: unknown;
15641
+ };
15642
+ content: {
15643
+ "application/json": components["schemas"]["FeedDeleteResponse"];
15644
+ };
15408
15645
  };
15409
15646
  };
15410
15647
  };
@@ -103,8 +103,12 @@ export const openApiRoutes = {
103
103
  '/api/me/action-items': ['GET'],
104
104
  '/api/me/events': ['GET'],
105
105
  '/api/me/feed': ['GET'],
106
+ '/api/me/feed/clear-resolved': ['POST'],
107
+ '/api/me/feed/delete': ['POST'],
106
108
  '/api/me/feed/read': ['POST'],
107
109
  '/api/me/feed/read-all': ['POST'],
110
+ '/api/me/feed/restore': ['POST'],
111
+ '/api/me/feed/unread': ['POST'],
108
112
  '/api/me/md': ['GET'],
109
113
  '/api/me/meetings/recordings/start': ['POST'],
110
114
  '/api/me/meetings/recordings/{id}': ['DELETE'],