opensips-js 0.1.47 → 0.1.48

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": "opensips-js",
3
- "version": "0.1.47",
3
+ "version": "0.1.48",
4
4
  "description": "The JS package for opensips",
5
5
  "default": "src/index.ts",
6
6
  "jsdelivr": "dist/opensips-js.iife.js",
@@ -1,11 +1,15 @@
1
1
  import { UAEventMap } from 'jssip/lib/UA'
2
2
 
3
- import { IMessage, MSRPSessionExtended } from '@/types/msrp'
3
+ import {
4
+ IMessage,
5
+ MSRPSessionExtended,
6
+ MSRPConversationState,
7
+ MSRPMessageStatus
8
+ } from '@/types/msrp'
4
9
  import { ICall, RoomChangeEmitType, ICallStatus, RTCSessionExtended } from '@/types/rtc'
5
10
  import MSRPMessage from '@/lib/msrp/message'
6
11
  import { ITimeData } from '@/types/timer'
7
12
  import { IncomingMSRPSessionEvent, OutgoingMSRPSessionEvent } from '@/helpers/UA'
8
- import { MSRPConversationState, MSRPMessageStatus } from '@/modules/msrp'
9
13
 
10
14
  export type MSRPMessageEventType = {
11
15
  message: MSRPMessage,
@@ -66,7 +70,7 @@ export type memberHangupListener = (event: object) => void
66
70
  export type changeAudioStateListener = (state: boolean) => void
67
71
  export type changeVideoStateListener = (state: boolean) => void
68
72
 
69
- // ---------- MSRP granular event listeners ----------
73
+ /* MSRP event listeners */
70
74
  export type changeMsrpSessionListener = (session: IMessage | null) => void
71
75
  export type msrpSyncCompletedListener = (payload: {
72
76
  conversations: { [key: string]: MSRPConversationState }
@@ -137,7 +141,7 @@ export interface OpenSIPSEventMap extends UAEventMap {
137
141
  connectionStateChange: connectionStateChangeListener
138
142
  newMSRPMessage: MSRPMessageListener
139
143
  newMSRPSession: MSRPSessionListener
140
- // MSRP - granular conversation events
144
+ // MSRP events listeners
141
145
  changeMsrpSession: changeMsrpSessionListener
142
146
  msrpSyncCompleted: msrpSyncCompletedListener
143
147
  msrpConversationCreated: msrpConversationCreatedListener
@@ -53,3 +53,39 @@ export interface TriggerMSRPListenerOptions {
53
53
  session: MSRPSessionExtended
54
54
  event?: ListenerEventType
55
55
  }
56
+
57
+ /* ---------- MSRP conversation shape types (backend v3 - June 2026) ----------
58
+ * These are the public data structures produced by MSRPModule at runtime and
59
+ * consumed by external subscribers (Vue wrappers, tests, etc.). Kept in this
60
+ * shipped `src/types/` file so they resolve cleanly for consumers without
61
+ * needing internal module paths.
62
+ */
63
+
64
+ export type MSRPMemberRole = 'in_charge' | 'manager' | 'assigned'
65
+ export type MSRPMembership = 'join' | 'leave' | 'invite' | 'ban'
66
+ export type MSRPMessageStatus = 'pending' | 'sent' | 'delivered' | 'read' | 'failed'
67
+
68
+ export interface MSRPConversationState {
69
+ conversationKey: string
70
+ creator: string | null
71
+ members: Set<string>
72
+ memberRoles: Map<string, MSRPMemberRole>
73
+ currentUserRole: MSRPMemberRole
74
+ currentUserStatus: MSRPMembership | null
75
+ state_events: { [key: string]: { [stateKey: string]: any } }
76
+ created_at: number
77
+ updated_at: number
78
+ status?: string
79
+ }
80
+
81
+ export interface MSRPUploadResult {
82
+ upload_url: string
83
+ expires_in?: number
84
+ mime_type: string
85
+ request_id: string
86
+ filename?: string
87
+ preview_url?: string
88
+ icon_url?: string
89
+ transcription?: string
90
+ media_type?: string
91
+ }