@company-semantics/contracts 44.0.0 → 44.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": "44.0.0",
3
+ "version": "44.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 = '017f7c7f6a72' as const;
3
- export const SPEC_HASH_FULL = '017f7c7f6a72c27413c0329be3eb9ff39547d425f575d570970d6e6920324638' as const;
2
+ export const SPEC_HASH = '815c01c0b920' as const;
3
+ export const SPEC_HASH_FULL = '815c01c0b920961e20e9bbe921d37145daa661873ce15b6a3cb426d6761cf80f' as const;
@@ -2876,6 +2876,60 @@ export interface paths {
2876
2876
  patch?: never;
2877
2877
  trace?: never;
2878
2878
  };
2879
+ "/api/me/feed": {
2880
+ parameters: {
2881
+ query?: never;
2882
+ header?: never;
2883
+ path?: never;
2884
+ cookie?: never;
2885
+ };
2886
+ /**
2887
+ * What I owe and what happened, merged, newest first
2888
+ * @description Actionable rows first, then informational rows newest-first — grouped, not chronologically interleaved. Only the informational half paginates.
2889
+ */
2890
+ get: operations["listMyFeed"];
2891
+ put?: never;
2892
+ post?: never;
2893
+ delete?: never;
2894
+ options?: never;
2895
+ head?: never;
2896
+ patch?: never;
2897
+ trace?: never;
2898
+ };
2899
+ "/api/me/feed/read": {
2900
+ parameters: {
2901
+ query?: never;
2902
+ header?: never;
2903
+ path?: never;
2904
+ cookie?: never;
2905
+ };
2906
+ get?: never;
2907
+ put?: never;
2908
+ /** Mark specific notifications read */
2909
+ post: operations["markMyFeedRead"];
2910
+ delete?: never;
2911
+ options?: never;
2912
+ head?: never;
2913
+ patch?: never;
2914
+ trace?: never;
2915
+ };
2916
+ "/api/me/feed/read-all": {
2917
+ parameters: {
2918
+ query?: never;
2919
+ header?: never;
2920
+ path?: never;
2921
+ cookie?: never;
2922
+ };
2923
+ get?: never;
2924
+ put?: never;
2925
+ /** Mark every notification read */
2926
+ post: operations["markMyFeedAllRead"];
2927
+ delete?: never;
2928
+ options?: never;
2929
+ head?: never;
2930
+ patch?: never;
2931
+ trace?: never;
2932
+ };
2879
2933
  "/api/me/meetings/recordings/start": {
2880
2934
  parameters: {
2881
2935
  query?: never;
@@ -5513,6 +5567,51 @@ export interface components {
5513
5567
  createdAt: string;
5514
5568
  }[];
5515
5569
  };
5570
+ FeedListResponse: {
5571
+ items: ({
5572
+ /** @constant */
5573
+ row: "actionable";
5574
+ item: {
5575
+ id: string;
5576
+ /** @enum {string} */
5577
+ kind: "companyMd.access_request_pending" | "execution.confirmation_pending";
5578
+ target: {
5579
+ /** @enum {string} */
5580
+ type: "company_md" | "org_unit" | "org" | "execution";
5581
+ id: string;
5582
+ };
5583
+ unitPath: string | null;
5584
+ title: string;
5585
+ detail: string | null;
5586
+ contextLabel: string;
5587
+ href: string;
5588
+ createdAt: string;
5589
+ };
5590
+ } | {
5591
+ /** @constant */
5592
+ row: "informational";
5593
+ notification: {
5594
+ id: string;
5595
+ /** @enum {string} */
5596
+ kind: "companyMd.access_requested" | "companyMd.access_request_approved" | "companyMd.access_request_denied";
5597
+ target: {
5598
+ /** @enum {string} */
5599
+ type: "company_md" | "org_unit" | "org" | "execution";
5600
+ id: string;
5601
+ };
5602
+ unitPath: string | null;
5603
+ title: string;
5604
+ detail: string | null;
5605
+ contextLabel: string;
5606
+ href: string | null;
5607
+ createdAt: string;
5608
+ readAt: string | null;
5609
+ };
5610
+ })[];
5611
+ nextCursor: string | null;
5612
+ unreadCount: number;
5613
+ truncated: boolean;
5614
+ };
5516
5615
  /** @description Recording + work_item ids and the transcription session grant. */
5517
5616
  StartMeetingRecordingResponse: {
5518
5617
  /** @description ULID; unified trace key for the recording (INV-MTG-7). */
@@ -10766,6 +10865,62 @@ export interface operations {
10766
10865
  };
10767
10866
  };
10768
10867
  };
10868
+ listMyFeed: {
10869
+ parameters: {
10870
+ query?: never;
10871
+ header?: never;
10872
+ path?: never;
10873
+ cookie?: never;
10874
+ };
10875
+ requestBody?: never;
10876
+ responses: {
10877
+ /** @description One page of the merged feed for the current user */
10878
+ 200: {
10879
+ headers: {
10880
+ [name: string]: unknown;
10881
+ };
10882
+ content: {
10883
+ "application/json": components["schemas"]["FeedListResponse"];
10884
+ };
10885
+ };
10886
+ };
10887
+ };
10888
+ markMyFeedRead: {
10889
+ parameters: {
10890
+ query?: never;
10891
+ header?: never;
10892
+ path?: never;
10893
+ cookie?: never;
10894
+ };
10895
+ requestBody?: never;
10896
+ responses: {
10897
+ /** @description Read state applied to the actor’s own rows */
10898
+ 200: {
10899
+ headers: {
10900
+ [name: string]: unknown;
10901
+ };
10902
+ content?: never;
10903
+ };
10904
+ };
10905
+ };
10906
+ markMyFeedAllRead: {
10907
+ parameters: {
10908
+ query?: never;
10909
+ header?: never;
10910
+ path?: never;
10911
+ cookie?: never;
10912
+ };
10913
+ requestBody?: never;
10914
+ responses: {
10915
+ /** @description Read state applied to the actor’s own rows */
10916
+ 200: {
10917
+ headers: {
10918
+ [name: string]: unknown;
10919
+ };
10920
+ content?: never;
10921
+ };
10922
+ };
10923
+ };
10769
10924
  startMeetingRecording: {
10770
10925
  parameters: {
10771
10926
  query?: never;
@@ -75,6 +75,9 @@ export const openApiRoutes = {
75
75
  '/api/me': ['GET'],
76
76
  '/api/me/access-list': ['GET'],
77
77
  '/api/me/action-items': ['GET'],
78
+ '/api/me/feed': ['GET'],
79
+ '/api/me/feed/read': ['POST'],
80
+ '/api/me/feed/read-all': ['POST'],
78
81
  '/api/me/meetings/recordings/start': ['POST'],
79
82
  '/api/me/meetings/recordings/{id}': ['DELETE'],
80
83
  '/api/me/meetings/recordings/{id}/complete': ['POST'],