@quitting/core 1.0.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.
@@ -0,0 +1,21 @@
1
+ import { Subscription } from 'centrifuge';
2
+ import { EventEmitter } from './events';
3
+ import { ConnectionState } from '@quitting/contract';
4
+ export declare class RealtimeConnection extends EventEmitter {
5
+ private client;
6
+ private subscriptions;
7
+ private refCount;
8
+ private wsUrl;
9
+ private uid;
10
+ private tokenGetter;
11
+ private currentState;
12
+ constructor(wsUrl: string, tokenGetter: () => Promise<string>);
13
+ get state(): ConnectionState;
14
+ connect(uid: string): Promise<void>;
15
+ subscribe(channel: string): Promise<Subscription | null>;
16
+ unsubscribe(channel: string): void;
17
+ publish(channel: string, data: unknown): Promise<void>;
18
+ private handlePublication;
19
+ disconnect(): void;
20
+ }
21
+ //# sourceMappingURL=realtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../src/realtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,KAAK,YAAY,EAAE,MAAM,YAAY,CAAA;AAEnF,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,KAAK,EAAE,eAAe,EAA+B,MAAM,oBAAoB,CAAA;AAStF,qBAAa,kBAAmB,SAAQ,YAAY;IAClD,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,aAAa,CAAkC;IAIvD,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,YAAY,CAAkC;gBAE1C,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC;IAM7D,IAAI,KAAK,IAAI,eAAe,CAE3B;IAEK,OAAO,CAAC,GAAG,EAAE,MAAM;IAoCnB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAkB9D,WAAW,CAAC,OAAO,EAAE,MAAM;IAerB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAS5D,OAAO,CAAC,iBAAiB;IA0FzB,UAAU;CAQX"}
@@ -0,0 +1,83 @@
1
+ import { SendMessageReq, SendMessageResp, CallInitResp, CallAcceptResp, CreateMeetingReq, CreateMeetingResp, JoinMeetingResp, ListMeetingMembersResp, TransferHostResp, DissolveResp, ParticipantCountResp, ListPendingInvitesResp, SessionState, UploadUrlReq, UploadUrlResp, CheckMd5Resp, ClientConfig } from '@quitting/contract';
2
+ export declare class Transport {
3
+ private apiBase;
4
+ private tokenGetter;
5
+ constructor(apiBase: string, tokenGetter: () => string | null);
6
+ private request;
7
+ sendBeacon(path: string, body: unknown): Promise<void>;
8
+ getClientConfig(): Promise<ClientConfig>;
9
+ login(appId: string, externalId: string, clientType?: number, deviceName?: string): Promise<{
10
+ token: string;
11
+ uid: string;
12
+ name: string;
13
+ avatarUrl: string;
14
+ expiresAt: number;
15
+ }>;
16
+ refresh(): Promise<{
17
+ token: string;
18
+ }>;
19
+ getCentrifugoToken(name?: string, avatar?: string): Promise<{
20
+ token: string;
21
+ }>;
22
+ getSessionState(uid?: string): Promise<{
23
+ state: SessionState;
24
+ type?: string;
25
+ id?: string;
26
+ roomName?: string;
27
+ }>;
28
+ usersByExternal(externalIds: string[]): Promise<{
29
+ users: Record<string, {
30
+ uid: string;
31
+ name: string;
32
+ deptName?: string;
33
+ avatarUrl?: string;
34
+ }>;
35
+ }>;
36
+ callInit(calleeUid: string, type: 'audio' | 'video'): Promise<CallInitResp>;
37
+ callAccept(callId: string): Promise<CallAcceptResp>;
38
+ callEnd(callId: string, reason: string): Promise<{
39
+ ok: boolean;
40
+ }>;
41
+ meetingCreate(req: CreateMeetingReq): Promise<CreateMeetingResp>;
42
+ meetingJoin(meetingId: string): Promise<JoinMeetingResp>;
43
+ meetingRespond(meetingId: string, action: 'accept' | 'reject'): Promise<{
44
+ ok?: boolean;
45
+ roomName?: string;
46
+ token?: string;
47
+ title?: string;
48
+ hostUid?: string;
49
+ }>;
50
+ meetingKick(meetingId: string, uid: string): Promise<{
51
+ ok: boolean;
52
+ }>;
53
+ meetingReinvite(meetingId: string, uid: string): Promise<{
54
+ ok: boolean;
55
+ }>;
56
+ meetingLeave(meetingId: string): Promise<{
57
+ ok: boolean;
58
+ }>;
59
+ meetingDissolve(meetingId: string): Promise<DissolveResp>;
60
+ meetingParticipantCount(meetingId: string): Promise<ParticipantCountResp>;
61
+ meetingPendingInvites(): Promise<ListPendingInvitesResp>;
62
+ meetingMembers(meetingId: string): Promise<ListMeetingMembersResp>;
63
+ meetingTransferHost(meetingId: string, newHostUid: string): Promise<TransferHostResp>;
64
+ sendMessage(req: SendMessageReq): Promise<SendMessageResp>;
65
+ ackMessage(messageId: string): Promise<{
66
+ ok: boolean;
67
+ }>;
68
+ revokeMessage(messageId: string): Promise<{
69
+ ok: boolean;
70
+ }>;
71
+ listMessages(conversationId: string, sinceSeq?: number, limit?: number): Promise<{
72
+ messages: any[];
73
+ }>;
74
+ markRead(conversationId: string, lastReadSeq: number): Promise<{
75
+ ok: boolean;
76
+ }>;
77
+ listConversations(): Promise<{
78
+ conversations: any[];
79
+ }>;
80
+ getUploadUrl(req: UploadUrlReq): Promise<UploadUrlResp>;
81
+ checkMd5(md5: string): Promise<CheckMd5Resp>;
82
+ }
83
+ //# sourceMappingURL=transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,sBAAsB,EAEtB,gBAAgB,EAChB,YAAY,EACZ,oBAAoB,EACpB,sBAAsB,EACtB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,YAAY,EACb,MAAM,oBAAoB,CAAA;AAK3B,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,WAAW,CAAqB;gBAE5B,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,MAAM,GAAG,IAAI;YAK/C,OAAO;IAiCf,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB5D,eAAe;IAIf,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAE,MAAU,EAAE,UAAU,CAAC,EAAE,MAAM;eAEzE,MAAM;aACR,MAAM;cACL,MAAM;mBACD,MAAM;mBACN,MAAM;;IAOrB,OAAO;eACwB,MAAM;;IAGrC,kBAAkB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;eAIlB,MAAM;;IAKrC,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM;eAEG,YAAY;eAAS,MAAM;aAAO,MAAM;mBAAa,MAAM;;IAM1F,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE;eAE1B,MAAM,CAAC,MAAM,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;;IAK/F,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO;IAMnD,UAAU,CAAC,MAAM,EAAE,MAAM;IAMzB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;YACV,OAAO;;IAOnC,aAAa,CAAC,GAAG,EAAE,gBAAgB;IAMnC,WAAW,CAAC,SAAS,EAAE,MAAM;IAQ7B,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ;aAEpD,OAAO;mBACD,MAAM;gBACT,MAAM;gBACN,MAAM;kBACJ,MAAM;;IAMpB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;YACd,OAAO;;IAKnC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;YAClB,OAAO;;IAKnC,YAAY,CAAC,SAAS,EAAE,MAAM;YACF,OAAO;;IAGnC,eAAe,CAAC,SAAS,EAAE,MAAM;IAIjC,uBAAuB,CAAC,SAAS,EAAE,MAAM;IAIzC,qBAAqB;IAIrB,cAAc,CAAC,SAAS,EAAE,MAAM;IAIhC,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAQzD,WAAW,CAAC,GAAG,EAAE,cAAc;IAM/B,UAAU,CAAC,SAAS,EAAE,MAAM;YACA,OAAO;;IAEnC,aAAa,CAAC,SAAS,EAAE,MAAM;YACH,OAAO;;IAEnC,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,SAAI,EAAE,KAAK,SAAK;kBAC3B,GAAG,EAAE;;IAIvC,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;YACxB,OAAO;;IAKnC,iBAAiB;uBACsB,GAAG,EAAE;;IAI5C,YAAY,CAAC,GAAG,EAAE,YAAY;IAM9B,QAAQ,CAAC,GAAG,EAAE,MAAM;CAMrB"}
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "@quitting/core",
3
+ "version": "1.0.0",
4
+ "description": "atim 无 UI SDK core(认证/连接/通话/会议/消息/媒体)",
5
+ "files": [
6
+ "dist"
7
+ ],
8
+ "type": "module",
9
+ "sideEffects": false,
10
+ "main": "./dist/atim-core.umd.js",
11
+ "module": "./dist/atim-core.es.js",
12
+ "types": "./dist/index.d.ts",
13
+ "exports": {
14
+ ".": {
15
+ "types": "./dist/index.d.ts",
16
+ "import": "./dist/atim-core.es.js",
17
+ "require": "./dist/atim-core.umd.js"
18
+ }
19
+ },
20
+ "publishConfig": {
21
+ "access": "public"
22
+ },
23
+ "dependencies": {
24
+ "centrifuge": "^5.7.0",
25
+ "livekit-client": "^2.20.1",
26
+ "@quitting/contract": "1.0.0"
27
+ },
28
+ "devDependencies": {
29
+ "@types/node": "^22.0.0",
30
+ "typescript": "^5.9.3",
31
+ "vite": "^8.1.4",
32
+ "vite-plugin-dts": "^4.5.0",
33
+ "vue-tsc": "^3.3.7",
34
+ "@quitting/contract": "1.0.0"
35
+ },
36
+ "peerDependencies": {
37
+ "@quitting/contract": "1.0.0",
38
+ "centrifuge": "^5.7.0",
39
+ "livekit-client": "^2.20.1"
40
+ },
41
+ "scripts": {
42
+ "dev": "vite build --watch",
43
+ "build": "vite build",
44
+ "typecheck": "vue-tsc --noEmit",
45
+ "test": "vitest run"
46
+ }
47
+ }