@company-semantics/contracts 44.0.0 → 44.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": "44.0.0",
3
+ "version": "44.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 = '017f7c7f6a72' as const;
3
- export const SPEC_HASH_FULL = '017f7c7f6a72c27413c0329be3eb9ff39547d425f575d570970d6e6920324638' as const;
2
+ export const SPEC_HASH = 'c4ce5a8f3e9b' as const;
3
+ export const SPEC_HASH_FULL = 'c4ce5a8f3e9b221190fe57672f0f485d50f763f2480162cbfdedb59140ef7450' as const;
@@ -405,6 +405,26 @@ export interface paths {
405
405
  patch?: never;
406
406
  trace?: never;
407
407
  };
408
+ "/api/me/events": {
409
+ parameters: {
410
+ query?: never;
411
+ header?: never;
412
+ path?: never;
413
+ cookie?: never;
414
+ };
415
+ /**
416
+ * Stream user-scoped events via SSE
417
+ * @description Server-Sent Events stream for everything pushed to the signed-in user: chat updates under the `chat-update` event name, and the generic user-event envelope (cache invalidations, resync, notification.created) under `user-event`. x-streaming: true.
418
+ */
419
+ get: operations["userEvents"];
420
+ put?: never;
421
+ post?: never;
422
+ delete?: never;
423
+ options?: never;
424
+ head?: never;
425
+ patch?: never;
426
+ trace?: never;
427
+ };
408
428
  "/api/chats/events": {
409
429
  parameters: {
410
430
  query?: never;
@@ -413,8 +433,8 @@ export interface paths {
413
433
  cookie?: never;
414
434
  };
415
435
  /**
416
- * Stream chat update events via SSE
417
- * @description Server-Sent Events stream for real-time chat updates. x-streaming: true. Event payloads conform to ChatSseEventSchema.
436
+ * Stream chat update events via SSE (deprecated — use GET /api/me/events)
437
+ * @description DEPRECATED. Identical stream to GET /api/me/events, kept for exactly one release so a client cached from before the rename is never left without a stream. Delete once no traffic remains. Server-Sent Events stream for real-time chat updates. x-streaming: true. Event payloads conform to ChatSseEventSchema.
418
438
  */
419
439
  get: operations["chatEvents"];
420
440
  put?: never;
@@ -2876,6 +2896,60 @@ export interface paths {
2876
2896
  patch?: never;
2877
2897
  trace?: never;
2878
2898
  };
2899
+ "/api/me/feed": {
2900
+ parameters: {
2901
+ query?: never;
2902
+ header?: never;
2903
+ path?: never;
2904
+ cookie?: never;
2905
+ };
2906
+ /**
2907
+ * What I owe and what happened, merged, newest first
2908
+ * @description Actionable rows first, then informational rows newest-first — grouped, not chronologically interleaved. Only the informational half paginates.
2909
+ */
2910
+ get: operations["listMyFeed"];
2911
+ put?: never;
2912
+ post?: never;
2913
+ delete?: never;
2914
+ options?: never;
2915
+ head?: never;
2916
+ patch?: never;
2917
+ trace?: never;
2918
+ };
2919
+ "/api/me/feed/read": {
2920
+ parameters: {
2921
+ query?: never;
2922
+ header?: never;
2923
+ path?: never;
2924
+ cookie?: never;
2925
+ };
2926
+ get?: never;
2927
+ put?: never;
2928
+ /** Mark specific notifications read */
2929
+ post: operations["markMyFeedRead"];
2930
+ delete?: never;
2931
+ options?: never;
2932
+ head?: never;
2933
+ patch?: never;
2934
+ trace?: never;
2935
+ };
2936
+ "/api/me/feed/read-all": {
2937
+ parameters: {
2938
+ query?: never;
2939
+ header?: never;
2940
+ path?: never;
2941
+ cookie?: never;
2942
+ };
2943
+ get?: never;
2944
+ put?: never;
2945
+ /** Mark every notification read */
2946
+ post: operations["markMyFeedAllRead"];
2947
+ delete?: never;
2948
+ options?: never;
2949
+ head?: never;
2950
+ patch?: never;
2951
+ trace?: never;
2952
+ };
2879
2953
  "/api/me/meetings/recordings/start": {
2880
2954
  parameters: {
2881
2955
  query?: never;
@@ -5513,6 +5587,51 @@ export interface components {
5513
5587
  createdAt: string;
5514
5588
  }[];
5515
5589
  };
5590
+ FeedListResponse: {
5591
+ items: ({
5592
+ /** @constant */
5593
+ row: "actionable";
5594
+ item: {
5595
+ id: string;
5596
+ /** @enum {string} */
5597
+ kind: "companyMd.access_request_pending" | "execution.confirmation_pending";
5598
+ target: {
5599
+ /** @enum {string} */
5600
+ type: "company_md" | "org_unit" | "org" | "execution";
5601
+ id: string;
5602
+ };
5603
+ unitPath: string | null;
5604
+ title: string;
5605
+ detail: string | null;
5606
+ contextLabel: string;
5607
+ href: string;
5608
+ createdAt: string;
5609
+ };
5610
+ } | {
5611
+ /** @constant */
5612
+ row: "informational";
5613
+ notification: {
5614
+ id: string;
5615
+ /** @enum {string} */
5616
+ kind: "companyMd.access_requested" | "companyMd.access_request_approved" | "companyMd.access_request_denied";
5617
+ target: {
5618
+ /** @enum {string} */
5619
+ type: "company_md" | "org_unit" | "org" | "execution";
5620
+ id: string;
5621
+ };
5622
+ unitPath: string | null;
5623
+ title: string;
5624
+ detail: string | null;
5625
+ contextLabel: string;
5626
+ href: string | null;
5627
+ createdAt: string;
5628
+ readAt: string | null;
5629
+ };
5630
+ })[];
5631
+ nextCursor: string | null;
5632
+ unreadCount: number;
5633
+ truncated: boolean;
5634
+ };
5516
5635
  /** @description Recording + work_item ids and the transcription session grant. */
5517
5636
  StartMeetingRecordingResponse: {
5518
5637
  /** @description ULID; unified trace key for the recording (INV-MTG-7). */
@@ -6771,6 +6890,26 @@ export interface operations {
6771
6890
  };
6772
6891
  };
6773
6892
  };
6893
+ userEvents: {
6894
+ parameters: {
6895
+ query?: never;
6896
+ header?: never;
6897
+ path?: never;
6898
+ cookie?: never;
6899
+ };
6900
+ requestBody?: never;
6901
+ responses: {
6902
+ /** @description SSE event stream (text/event-stream). Event payload: ChatSseEvent. */
6903
+ 200: {
6904
+ headers: {
6905
+ [name: string]: unknown;
6906
+ };
6907
+ content: {
6908
+ "text/event-stream": components["schemas"]["ChatSseEvent"];
6909
+ };
6910
+ };
6911
+ };
6912
+ };
6774
6913
  chatEvents: {
6775
6914
  parameters: {
6776
6915
  query?: never;
@@ -10766,6 +10905,64 @@ export interface operations {
10766
10905
  };
10767
10906
  };
10768
10907
  };
10908
+ listMyFeed: {
10909
+ parameters: {
10910
+ query?: {
10911
+ cursor?: string;
10912
+ };
10913
+ header?: never;
10914
+ path?: never;
10915
+ cookie?: never;
10916
+ };
10917
+ requestBody?: never;
10918
+ responses: {
10919
+ /** @description One page of the merged feed for the current user */
10920
+ 200: {
10921
+ headers: {
10922
+ [name: string]: unknown;
10923
+ };
10924
+ content: {
10925
+ "application/json": components["schemas"]["FeedListResponse"];
10926
+ };
10927
+ };
10928
+ };
10929
+ };
10930
+ markMyFeedRead: {
10931
+ parameters: {
10932
+ query?: never;
10933
+ header?: never;
10934
+ path?: never;
10935
+ cookie?: never;
10936
+ };
10937
+ requestBody?: never;
10938
+ responses: {
10939
+ /** @description Read state applied to the actor’s own rows */
10940
+ 200: {
10941
+ headers: {
10942
+ [name: string]: unknown;
10943
+ };
10944
+ content?: never;
10945
+ };
10946
+ };
10947
+ };
10948
+ markMyFeedAllRead: {
10949
+ parameters: {
10950
+ query?: never;
10951
+ header?: never;
10952
+ path?: never;
10953
+ cookie?: never;
10954
+ };
10955
+ requestBody?: never;
10956
+ responses: {
10957
+ /** @description Read state applied to the actor’s own rows */
10958
+ 200: {
10959
+ headers: {
10960
+ [name: string]: unknown;
10961
+ };
10962
+ content?: never;
10963
+ };
10964
+ };
10965
+ };
10769
10966
  startMeetingRecording: {
10770
10967
  parameters: {
10771
10968
  query?: never;
@@ -75,6 +75,10 @@ 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/events': ['GET'],
79
+ '/api/me/feed': ['GET'],
80
+ '/api/me/feed/read': ['POST'],
81
+ '/api/me/feed/read-all': ['POST'],
78
82
  '/api/me/meetings/recordings/start': ['POST'],
79
83
  '/api/me/meetings/recordings/{id}': ['DELETE'],
80
84
  '/api/me/meetings/recordings/{id}/complete': ['POST'],