@principal-ai/control-tower-core 0.1.4 → 0.1.6
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/dist/abstractions/AuthAdapter.d.ts +8 -5
- package/dist/abstractions/AuthAdapter.d.ts.map +1 -1
- package/dist/abstractions/AuthAdapter.js +2 -1
- package/dist/abstractions/DefaultLockManager.d.ts +2 -2
- package/dist/abstractions/DefaultLockManager.d.ts.map +1 -1
- package/dist/abstractions/DefaultLockManager.js +6 -2
- package/dist/abstractions/DefaultRoomManager.d.ts +2 -2
- package/dist/abstractions/DefaultRoomManager.d.ts.map +1 -1
- package/dist/abstractions/DefaultRoomManager.js +6 -2
- package/dist/abstractions/EventEmitter.js +5 -1
- package/dist/abstractions/LockManager.d.ts +1 -1
- package/dist/abstractions/LockManager.d.ts.map +1 -1
- package/dist/abstractions/LockManager.js +5 -1
- package/dist/abstractions/RoomManager.d.ts +1 -1
- package/dist/abstractions/RoomManager.d.ts.map +1 -1
- package/dist/abstractions/RoomManager.js +5 -1
- package/dist/abstractions/StorageAdapter.js +2 -1
- package/dist/abstractions/TransportAdapter.d.ts +6 -1
- package/dist/abstractions/TransportAdapter.d.ts.map +1 -1
- package/dist/abstractions/TransportAdapter.js +2 -1
- package/dist/abstractions/index.d.ts +8 -8
- package/dist/abstractions/index.d.ts.map +1 -1
- package/dist/abstractions/index.js +13 -5
- package/dist/adapters/mock/MockAuthAdapter.d.ts +5 -2
- package/dist/adapters/mock/MockAuthAdapter.d.ts.map +1 -1
- package/dist/adapters/mock/MockAuthAdapter.js +62 -14
- package/dist/adapters/mock/MockStorageAdapter.d.ts +1 -1
- package/dist/adapters/mock/MockStorageAdapter.d.ts.map +1 -1
- package/dist/adapters/mock/MockStorageAdapter.js +5 -1
- package/dist/adapters/mock/MockTransportAdapter.d.ts +2 -2
- package/dist/adapters/mock/MockTransportAdapter.d.ts.map +1 -1
- package/dist/adapters/mock/MockTransportAdapter.js +5 -1
- package/dist/adapters/mock/index.d.ts +3 -3
- package/dist/adapters/mock/index.d.ts.map +1 -1
- package/dist/adapters/mock/index.js +9 -3
- package/dist/adapters/websocket/WebSocketTransportAdapter.d.ts +60 -0
- package/dist/adapters/websocket/WebSocketTransportAdapter.d.ts.map +1 -0
- package/dist/adapters/websocket/WebSocketTransportAdapter.js +384 -0
- package/dist/adapters/websocket/index.d.ts +2 -0
- package/dist/adapters/websocket/index.d.ts.map +1 -0
- package/dist/adapters/websocket/index.js +5 -0
- package/dist/client/BaseClient.d.ts +5 -5
- package/dist/client/BaseClient.d.ts.map +1 -1
- package/dist/client/BaseClient.js +10 -4
- package/dist/client/ClientBuilder.d.ts +4 -4
- package/dist/client/ClientBuilder.d.ts.map +1 -1
- package/dist/client/ClientBuilder.js +7 -3
- package/dist/client/index.d.ts +2 -2
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +7 -2
- package/dist/index.d.ts +6 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -5
- package/dist/index.js.map +29 -14
- package/dist/index.mjs +3386 -17
- package/dist/index.mjs.map +29 -14
- package/dist/server/BaseServer.d.ts +21 -8
- package/dist/server/BaseServer.d.ts.map +1 -1
- package/dist/server/BaseServer.js +109 -2
- package/dist/server/ServerBuilder.d.ts +16 -7
- package/dist/server/ServerBuilder.d.ts.map +1 -1
- package/dist/server/ServerBuilder.js +23 -4
- package/dist/server/index.d.ts +2 -2
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +7 -2
- package/dist/types/auth.d.ts +14 -7
- package/dist/types/auth.d.ts.map +1 -1
- package/dist/types/auth.js +2 -1
- package/dist/types/events.d.ts +1 -1
- package/dist/types/events.d.ts.map +1 -1
- package/dist/types/events.js +2 -1
- package/dist/types/index.d.ts +4 -4
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -1
- package/dist/types/lock.js +2 -1
- package/dist/types/room.d.ts +2 -2
- package/dist/types/room.d.ts.map +1 -1
- package/dist/types/room.js +2 -1
- package/package.json +5 -2
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import type { TokenPayload, AuthResult, Credentials } from '../types';
|
|
1
|
+
import type { TokenPayload, AuthResult, Credentials, CredentialType } from '../types/index.js';
|
|
2
2
|
export interface IAuthAdapter {
|
|
3
|
-
validateToken(token: string): Promise<TokenPayload>;
|
|
4
|
-
generateToken(payload: TokenPayload): Promise<string>;
|
|
5
|
-
refreshToken(token: string): Promise<string>;
|
|
6
|
-
revokeToken(token: string): Promise<void>;
|
|
7
3
|
authenticate(credentials: Credentials): Promise<AuthResult>;
|
|
4
|
+
validateToken(token: string): Promise<TokenPayload>;
|
|
5
|
+
generateToken?(payload: TokenPayload): Promise<string>;
|
|
6
|
+
refreshToken?(token: string): Promise<string>;
|
|
7
|
+
revokeToken?(token: string): Promise<void>;
|
|
8
|
+
isAuthRequired?(): boolean;
|
|
9
|
+
getAuthTimeout?(): number;
|
|
10
|
+
getSupportedCredentialTypes?(): CredentialType[];
|
|
8
11
|
}
|
|
9
12
|
//# sourceMappingURL=AuthAdapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthAdapter.d.ts","sourceRoot":"","sources":["../../src/abstractions/AuthAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,WAAW,
|
|
1
|
+
{"version":3,"file":"AuthAdapter.d.ts","sourceRoot":"","sources":["../../src/abstractions/AuthAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,cAAc,EACf,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,YAAY;IAE3B,YAAY,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAG5D,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACpD,aAAa,CAAC,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvD,YAAY,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,WAAW,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAG3C,cAAc,CAAC,IAAI,OAAO,CAAC;IAC3B,cAAc,CAAC,IAAI,MAAM,CAAC;IAC1B,2BAA2B,CAAC,IAAI,cAAc,EAAE,CAAC;CAClD"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Lock, LockRequest } from '../types';
|
|
2
|
-
import { LockManager } from './LockManager';
|
|
1
|
+
import type { Lock, LockRequest } from '../types/index.js';
|
|
2
|
+
import { LockManager } from './LockManager.js';
|
|
3
3
|
export declare class DefaultLockManager extends LockManager {
|
|
4
4
|
acquireLock(userId: string, username: string, request: LockRequest): Promise<Lock>;
|
|
5
5
|
releaseLock(lockId: string): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultLockManager.d.ts","sourceRoot":"","sources":["../../src/abstractions/DefaultLockManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,WAAW,EAEZ,MAAM,
|
|
1
|
+
{"version":3,"file":"DefaultLockManager.d.ts","sourceRoot":"","sources":["../../src/abstractions/DefaultLockManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,WAAW,EAEZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,qBAAa,kBAAmB,SAAQ,WAAW;IAC3C,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAyClF,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB1C,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAe/C,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAS3C,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAK7C,WAAW,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAI9B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIxC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK7C,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUtD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBjF,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAelE,OAAO,CAAC,UAAU;YAIJ,YAAY;CA2B3B"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DefaultLockManager = void 0;
|
|
4
|
+
const LockManager_js_1 = require("./LockManager.js");
|
|
5
|
+
class DefaultLockManager extends LockManager_js_1.LockManager {
|
|
3
6
|
async acquireLock(userId, username, request) {
|
|
4
7
|
const { path, type = 'file', priority = 'normal', ttl, branch, metadata } = request;
|
|
5
8
|
// Check if user already has a lock on this path
|
|
@@ -150,3 +153,4 @@ export class DefaultLockManager extends LockManager {
|
|
|
150
153
|
}
|
|
151
154
|
}
|
|
152
155
|
}
|
|
156
|
+
exports.DefaultLockManager = DefaultLockManager;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Room, RoomUser, RoomState, RoomConfig, Event } from '../types';
|
|
2
|
-
import { RoomManager } from './RoomManager';
|
|
1
|
+
import type { Room, RoomUser, RoomState, RoomConfig, Event } from '../types/index.js';
|
|
2
|
+
import { RoomManager } from './RoomManager.js';
|
|
3
3
|
export declare class DefaultRoomManager extends RoomManager {
|
|
4
4
|
createRoom(id: string, config: RoomConfig): Promise<Room>;
|
|
5
5
|
deleteRoom(id: string): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultRoomManager.d.ts","sourceRoot":"","sources":["../../src/abstractions/DefaultRoomManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,UAAU,EACV,KAAK,EACN,MAAM,
|
|
1
|
+
{"version":3,"file":"DefaultRoomManager.d.ts","sourceRoot":"","sources":["../../src/abstractions/DefaultRoomManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,UAAU,EACV,KAAK,EACN,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,qBAAa,kBAAmB,SAAQ,WAAW;IAC3C,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBzD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAavD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASxD,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWrF,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAIvD,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IASnD,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAc9D,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAUjE,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAYlG"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DefaultRoomManager = void 0;
|
|
4
|
+
const RoomManager_js_1 = require("./RoomManager.js");
|
|
5
|
+
class DefaultRoomManager extends RoomManager_js_1.RoomManager {
|
|
3
6
|
async createRoom(id, config) {
|
|
4
7
|
const room = {
|
|
5
8
|
id,
|
|
@@ -89,3 +92,4 @@ export class DefaultRoomManager extends RoomManager {
|
|
|
89
92
|
}
|
|
90
93
|
}
|
|
91
94
|
}
|
|
95
|
+
exports.DefaultRoomManager = DefaultRoomManager;
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TypedEventEmitter = void 0;
|
|
4
|
+
class TypedEventEmitter {
|
|
2
5
|
constructor() {
|
|
3
6
|
// Use unknown type for storage, will be cast appropriately when called
|
|
4
7
|
this.listeners = new Map();
|
|
@@ -54,3 +57,4 @@ export class TypedEventEmitter {
|
|
|
54
57
|
return regular + once;
|
|
55
58
|
}
|
|
56
59
|
}
|
|
60
|
+
exports.TypedEventEmitter = TypedEventEmitter;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Lock, LockRequest, LockState } from '../types';
|
|
1
|
+
import type { Lock, LockRequest, LockState } from '../types/index.js';
|
|
2
2
|
export declare abstract class LockManager {
|
|
3
3
|
protected lockState: LockState;
|
|
4
4
|
abstract acquireLock(userId: string, username: string, request: LockRequest): Promise<Lock>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LockManager.d.ts","sourceRoot":"","sources":["../../src/abstractions/LockManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,WAAW,EACX,SAAS,EACV,MAAM,
|
|
1
|
+
{"version":3,"file":"LockManager.d.ts","sourceRoot":"","sources":["../../src/abstractions/LockManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,WAAW,EACX,SAAS,EACV,MAAM,mBAAmB,CAAC;AAE3B,8BAAsB,WAAW;IAC/B,SAAS,CAAC,SAAS,EAAE,SAAS,CAI5B;IAEF,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAC3F,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IACnD,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IACxD,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IACpD,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IACtD,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IACjD,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACtD,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAC/D,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1F,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CACtE"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LockManager = void 0;
|
|
4
|
+
class LockManager {
|
|
2
5
|
constructor() {
|
|
3
6
|
this.lockState = {
|
|
4
7
|
locks: new Map(),
|
|
@@ -7,3 +10,4 @@ export class LockManager {
|
|
|
7
10
|
};
|
|
8
11
|
}
|
|
9
12
|
}
|
|
13
|
+
exports.LockManager = LockManager;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Room, RoomUser, RoomState, RoomConfig, Event } from '../types';
|
|
1
|
+
import type { Room, RoomUser, RoomState, RoomConfig, Event } from '../types/index.js';
|
|
2
2
|
export declare abstract class RoomManager {
|
|
3
3
|
protected rooms: Map<string, RoomState>;
|
|
4
4
|
abstract createRoom(id: string, config: RoomConfig): Promise<Room>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoomManager.d.ts","sourceRoot":"","sources":["../../src/abstractions/RoomManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,UAAU,EACV,KAAK,EACN,MAAM,
|
|
1
|
+
{"version":3,"file":"RoomManager.d.ts","sourceRoot":"","sources":["../../src/abstractions/RoomManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,UAAU,EACV,KAAK,EACN,MAAM,mBAAmB,CAAC;AAE3B,8BAAsB,WAAW;IAC/B,SAAS,CAAC,KAAK,yBAAgC;IAE/C,QAAQ,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAClE,QAAQ,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAC9C,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAChE,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IACjE,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAC7F,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAChE,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC5D,QAAQ,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IACvE,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAC1E,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CACrG"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import type { ConnectionState, ConnectionOptions, Message, MessageHandler, ErrorHandler, CloseHandler } from '../types';
|
|
1
|
+
import type { ConnectionState, ConnectionOptions, Message, MessageHandler, ErrorHandler, CloseHandler } from '../types/index.js';
|
|
2
|
+
import type { Server as HttpServer } from 'http';
|
|
3
|
+
import type { Server as HttpsServer } from 'https';
|
|
4
|
+
import type { WebSocketServer } from 'ws';
|
|
2
5
|
export interface ITransportAdapter {
|
|
3
6
|
connect(url: string, options?: ConnectionOptions): Promise<void>;
|
|
4
7
|
disconnect(): Promise<void>;
|
|
@@ -8,5 +11,7 @@ export interface ITransportAdapter {
|
|
|
8
11
|
onClose(handler: CloseHandler): void;
|
|
9
12
|
getState(): ConnectionState;
|
|
10
13
|
isConnected(): boolean;
|
|
14
|
+
attach?(server: HttpServer | HttpsServer, path?: string): Promise<void>;
|
|
15
|
+
attachToWebSocketServer?(wss: WebSocketServer): Promise<void>;
|
|
11
16
|
}
|
|
12
17
|
//# sourceMappingURL=TransportAdapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransportAdapter.d.ts","sourceRoot":"","sources":["../../src/abstractions/TransportAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,OAAO,EACP,cAAc,EACd,YAAY,EACZ,YAAY,EACb,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"TransportAdapter.d.ts","sourceRoot":"","sources":["../../src/abstractions/TransportAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,OAAO,EACP,cAAc,EACd,YAAY,EACZ,YAAY,EACb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AAE1C,MAAM,WAAW,iBAAiB;IAEhC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,SAAS,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;IACzC,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IACrC,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IACrC,QAAQ,IAAI,eAAe,CAAC;IAC5B,WAAW,IAAI,OAAO,CAAC;IAGvB,MAAM,CAAC,CAAC,MAAM,EAAE,UAAU,GAAG,WAAW,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,uBAAuB,CAAC,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/D"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { ITransportAdapter } from './TransportAdapter';
|
|
2
|
-
export { IStorageAdapter, StorageOperation } from './StorageAdapter';
|
|
3
|
-
export { IAuthAdapter } from './AuthAdapter';
|
|
4
|
-
export { TypedEventEmitter, EventListener, UnsubscribeFn } from './EventEmitter';
|
|
5
|
-
export { RoomManager } from './RoomManager';
|
|
6
|
-
export { LockManager } from './LockManager';
|
|
7
|
-
export { DefaultRoomManager } from './DefaultRoomManager';
|
|
8
|
-
export { DefaultLockManager } from './DefaultLockManager';
|
|
1
|
+
export { ITransportAdapter } from './TransportAdapter.js';
|
|
2
|
+
export { IStorageAdapter, StorageOperation } from './StorageAdapter.js';
|
|
3
|
+
export { IAuthAdapter } from './AuthAdapter.js';
|
|
4
|
+
export { TypedEventEmitter, EventListener, UnsubscribeFn } from './EventEmitter.js';
|
|
5
|
+
export { RoomManager } from './RoomManager.js';
|
|
6
|
+
export { LockManager } from './LockManager.js';
|
|
7
|
+
export { DefaultRoomManager } from './DefaultRoomManager.js';
|
|
8
|
+
export { DefaultLockManager } from './DefaultLockManager.js';
|
|
9
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/abstractions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/abstractions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -1,5 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DefaultLockManager = exports.DefaultRoomManager = exports.LockManager = exports.RoomManager = exports.TypedEventEmitter = void 0;
|
|
4
|
+
var EventEmitter_js_1 = require("./EventEmitter.js");
|
|
5
|
+
Object.defineProperty(exports, "TypedEventEmitter", { enumerable: true, get: function () { return EventEmitter_js_1.TypedEventEmitter; } });
|
|
6
|
+
var RoomManager_js_1 = require("./RoomManager.js");
|
|
7
|
+
Object.defineProperty(exports, "RoomManager", { enumerable: true, get: function () { return RoomManager_js_1.RoomManager; } });
|
|
8
|
+
var LockManager_js_1 = require("./LockManager.js");
|
|
9
|
+
Object.defineProperty(exports, "LockManager", { enumerable: true, get: function () { return LockManager_js_1.LockManager; } });
|
|
10
|
+
var DefaultRoomManager_js_1 = require("./DefaultRoomManager.js");
|
|
11
|
+
Object.defineProperty(exports, "DefaultRoomManager", { enumerable: true, get: function () { return DefaultRoomManager_js_1.DefaultRoomManager; } });
|
|
12
|
+
var DefaultLockManager_js_1 = require("./DefaultLockManager.js");
|
|
13
|
+
Object.defineProperty(exports, "DefaultLockManager", { enumerable: true, get: function () { return DefaultLockManager_js_1.DefaultLockManager; } });
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { IAuthAdapter } from '../../abstractions/AuthAdapter';
|
|
2
|
-
import type { TokenPayload, AuthResult, Credentials } from '../../types';
|
|
1
|
+
import type { IAuthAdapter } from '../../abstractions/AuthAdapter.js';
|
|
2
|
+
import type { TokenPayload, AuthResult, Credentials, CredentialType } from '../../types/index.js';
|
|
3
3
|
export declare class MockAuthAdapter implements IAuthAdapter {
|
|
4
4
|
private tokens;
|
|
5
5
|
private revokedTokens;
|
|
@@ -16,6 +16,9 @@ export declare class MockAuthAdapter implements IAuthAdapter {
|
|
|
16
16
|
refreshToken(token: string): Promise<string>;
|
|
17
17
|
revokeToken(token: string): Promise<void>;
|
|
18
18
|
authenticate(credentials: Credentials): Promise<AuthResult>;
|
|
19
|
+
isAuthRequired(): boolean;
|
|
20
|
+
getAuthTimeout(): number;
|
|
21
|
+
getSupportedCredentialTypes(): CredentialType[];
|
|
19
22
|
private simulateDelay;
|
|
20
23
|
addUser(username: string, password: string, payload: TokenPayload): void;
|
|
21
24
|
removeUser(username: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockAuthAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/mock/MockAuthAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"MockAuthAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/mock/MockAuthAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,cAAc,EACf,MAAM,sBAAsB,CAAC;AAE9B,qBAAa,eAAgB,YAAW,YAAY;IAClD,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,KAAK,CAAuE;IACpF,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,YAAY,CAAa;gBAErB,OAAO,CAAC,EAAE;QACpB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B;IAoBK,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAyBnD,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBrD,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqB5C,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWzC,YAAY,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAwGjE,cAAc,IAAI,OAAO;IAIzB,cAAc,IAAI,MAAM;IAIxB,2BAA2B,IAAI,cAAc,EAAE;YAKjC,aAAa;IAM3B,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAIxE,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIlC,aAAa,IAAI,MAAM;IAIvB,oBAAoB,IAAI,MAAM;IAI9B,WAAW,IAAI,IAAI;IAKnB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;CAGjC"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MockAuthAdapter = void 0;
|
|
4
|
+
class MockAuthAdapter {
|
|
2
5
|
constructor(options) {
|
|
3
6
|
this.tokens = new Map();
|
|
4
7
|
this.revokedTokens = new Set();
|
|
@@ -78,42 +81,71 @@ export class MockAuthAdapter {
|
|
|
78
81
|
async authenticate(credentials) {
|
|
79
82
|
await this.simulateDelay();
|
|
80
83
|
if (this.shouldFailAuth) {
|
|
81
|
-
|
|
84
|
+
return {
|
|
85
|
+
success: false,
|
|
86
|
+
error: 'Mock authentication failed'
|
|
87
|
+
};
|
|
82
88
|
}
|
|
83
89
|
switch (credentials.type) {
|
|
84
90
|
case 'password': {
|
|
85
91
|
if (!credentials.username || !credentials.password) {
|
|
86
|
-
|
|
92
|
+
return {
|
|
93
|
+
success: false,
|
|
94
|
+
error: 'Username and password required'
|
|
95
|
+
};
|
|
87
96
|
}
|
|
88
97
|
const user = this.users.get(credentials.username);
|
|
89
98
|
if (!user || user.password !== credentials.password) {
|
|
90
|
-
|
|
99
|
+
return {
|
|
100
|
+
success: false,
|
|
101
|
+
error: 'Invalid credentials'
|
|
102
|
+
};
|
|
91
103
|
}
|
|
92
104
|
const token = await this.generateToken(user.payload);
|
|
93
105
|
const refreshToken = `refresh-${token}`;
|
|
94
106
|
this.tokens.set(refreshToken, user.payload);
|
|
95
107
|
return {
|
|
108
|
+
success: true,
|
|
96
109
|
token,
|
|
97
110
|
refreshToken,
|
|
98
111
|
user: user.payload,
|
|
112
|
+
userId: user.payload.userId,
|
|
99
113
|
expiresIn: 3600
|
|
100
114
|
};
|
|
101
115
|
}
|
|
102
|
-
case 'token':
|
|
116
|
+
case 'token':
|
|
117
|
+
case 'jwt':
|
|
118
|
+
case 'bearer': {
|
|
103
119
|
if (!credentials.token) {
|
|
104
|
-
|
|
120
|
+
return {
|
|
121
|
+
success: false,
|
|
122
|
+
error: 'Token required'
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
try {
|
|
126
|
+
const payload = await this.validateToken(credentials.token);
|
|
127
|
+
return {
|
|
128
|
+
success: true,
|
|
129
|
+
token: credentials.token,
|
|
130
|
+
user: payload,
|
|
131
|
+
userId: payload.userId,
|
|
132
|
+
expiresIn: 3600
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
return {
|
|
137
|
+
success: false,
|
|
138
|
+
error: error.message
|
|
139
|
+
};
|
|
105
140
|
}
|
|
106
|
-
const payload = await this.validateToken(credentials.token);
|
|
107
|
-
return {
|
|
108
|
-
token: credentials.token,
|
|
109
|
-
user: payload,
|
|
110
|
-
expiresIn: 3600
|
|
111
|
-
};
|
|
112
141
|
}
|
|
113
142
|
case 'oauth': {
|
|
114
143
|
// Simulate OAuth flow
|
|
115
144
|
if (!credentials.code) {
|
|
116
|
-
|
|
145
|
+
return {
|
|
146
|
+
success: false,
|
|
147
|
+
error: 'OAuth code required'
|
|
148
|
+
};
|
|
117
149
|
}
|
|
118
150
|
// Create a mock OAuth user
|
|
119
151
|
const payload = {
|
|
@@ -124,15 +156,30 @@ export class MockAuthAdapter {
|
|
|
124
156
|
};
|
|
125
157
|
const token = await this.generateToken(payload);
|
|
126
158
|
return {
|
|
159
|
+
success: true,
|
|
127
160
|
token,
|
|
128
161
|
user: payload,
|
|
162
|
+
userId: payload.userId,
|
|
129
163
|
expiresIn: 3600
|
|
130
164
|
};
|
|
131
165
|
}
|
|
132
166
|
default:
|
|
133
|
-
|
|
167
|
+
return {
|
|
168
|
+
success: false,
|
|
169
|
+
error: 'Unsupported credential type'
|
|
170
|
+
};
|
|
134
171
|
}
|
|
135
172
|
}
|
|
173
|
+
// New methods for enhanced auth interface
|
|
174
|
+
isAuthRequired() {
|
|
175
|
+
return false; // Mock adapter doesn't require auth by default
|
|
176
|
+
}
|
|
177
|
+
getAuthTimeout() {
|
|
178
|
+
return 10000; // 10 seconds for testing
|
|
179
|
+
}
|
|
180
|
+
getSupportedCredentialTypes() {
|
|
181
|
+
return ['password', 'token', 'jwt', 'bearer', 'oauth'];
|
|
182
|
+
}
|
|
136
183
|
// Test helper methods
|
|
137
184
|
async simulateDelay() {
|
|
138
185
|
if (this.simulateLatency > 0) {
|
|
@@ -159,3 +206,4 @@ export class MockAuthAdapter {
|
|
|
159
206
|
this.shouldFailAuth = fail;
|
|
160
207
|
}
|
|
161
208
|
}
|
|
209
|
+
exports.MockAuthAdapter = MockAuthAdapter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockStorageAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/mock/MockStorageAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"MockStorageAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/mock/MockStorageAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAE9F,UAAU,WAAW;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,kBAAmB,YAAW,eAAe;IACxD,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,oBAAoB,CAAkB;gBAElC,OAAO,CAAC,EAAE;QACpB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,oBAAoB,CAAC,EAAE,OAAO,CAAC;KAChC;IAKK,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAmBtC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAe1D,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUlC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAmBrC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAiCxC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAUtB,WAAW,CAAC,CAAC,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;YA6DlD,aAAa;IAM3B,OAAO,IAAI,MAAM;IAIjB,aAAa,IAAI,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC;IAIzC,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;CAGvC"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MockStorageAdapter = void 0;
|
|
4
|
+
class MockStorageAdapter {
|
|
2
5
|
constructor(options) {
|
|
3
6
|
this.storage = new Map();
|
|
4
7
|
this.simulateLatency = 0;
|
|
@@ -160,3 +163,4 @@ export class MockStorageAdapter {
|
|
|
160
163
|
this.shouldFailOperations = fail;
|
|
161
164
|
}
|
|
162
165
|
}
|
|
166
|
+
exports.MockStorageAdapter = MockStorageAdapter;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ITransportAdapter } from '../../abstractions/TransportAdapter';
|
|
2
|
-
import type { ConnectionState, ConnectionOptions, Message, MessageHandler, ErrorHandler, CloseHandler } from '../../types';
|
|
1
|
+
import type { ITransportAdapter } from '../../abstractions/TransportAdapter.js';
|
|
2
|
+
import type { ConnectionState, ConnectionOptions, Message, MessageHandler, ErrorHandler, CloseHandler } from '../../types/index.js';
|
|
3
3
|
export declare class MockTransportAdapter implements ITransportAdapter {
|
|
4
4
|
private state;
|
|
5
5
|
private messageHandlers;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockTransportAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/mock/MockTransportAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"MockTransportAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/mock/MockTransportAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,OAAO,EACP,cAAc,EACd,YAAY,EACZ,YAAY,EACb,MAAM,sBAAsB,CAAC;AAE9B,qBAAa,oBAAqB,YAAW,iBAAiB;IAC5D,OAAO,CAAC,KAAK,CAAmC;IAChD,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,aAAa,CAAgC;IACrD,OAAO,CAAC,aAAa,CAAgC;IACrD,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,oBAAoB,CAAkB;IAC9C,OAAO,CAAC,YAAY,CAAuB;gBAE/B,OAAO,CAAC,EAAE;QACpB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,oBAAoB,CAAC,EAAE,OAAO,CAAC;KAChC;IAKK,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBjE,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB3B,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAa3C,SAAS,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAIxC,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAIpC,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAIpC,QAAQ,IAAI,eAAe;IAI3B,WAAW,IAAI,OAAO;IAKtB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAOvC,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAIjC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAKjD,eAAe,IAAI,OAAO,EAAE;IAI5B,iBAAiB,IAAI,IAAI;IAIzB,eAAe,IAAI,MAAM,GAAG,IAAI;CAGjC"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MockTransportAdapter = void 0;
|
|
4
|
+
class MockTransportAdapter {
|
|
2
5
|
constructor(options) {
|
|
3
6
|
this.state = 'disconnected';
|
|
4
7
|
this.messageHandlers = new Set();
|
|
@@ -88,3 +91,4 @@ export class MockTransportAdapter {
|
|
|
88
91
|
return this.connectedUrl;
|
|
89
92
|
}
|
|
90
93
|
}
|
|
94
|
+
exports.MockTransportAdapter = MockTransportAdapter;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { MockTransportAdapter } from './MockTransportAdapter';
|
|
2
|
-
export { MockStorageAdapter } from './MockStorageAdapter';
|
|
3
|
-
export { MockAuthAdapter } from './MockAuthAdapter';
|
|
1
|
+
export { MockTransportAdapter } from './MockTransportAdapter.js';
|
|
2
|
+
export { MockStorageAdapter } from './MockStorageAdapter.js';
|
|
3
|
+
export { MockAuthAdapter } from './MockAuthAdapter.js';
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/mock/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/mock/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MockAuthAdapter = exports.MockStorageAdapter = exports.MockTransportAdapter = void 0;
|
|
4
|
+
var MockTransportAdapter_js_1 = require("./MockTransportAdapter.js");
|
|
5
|
+
Object.defineProperty(exports, "MockTransportAdapter", { enumerable: true, get: function () { return MockTransportAdapter_js_1.MockTransportAdapter; } });
|
|
6
|
+
var MockStorageAdapter_js_1 = require("./MockStorageAdapter.js");
|
|
7
|
+
Object.defineProperty(exports, "MockStorageAdapter", { enumerable: true, get: function () { return MockStorageAdapter_js_1.MockStorageAdapter; } });
|
|
8
|
+
var MockAuthAdapter_js_1 = require("./MockAuthAdapter.js");
|
|
9
|
+
Object.defineProperty(exports, "MockAuthAdapter", { enumerable: true, get: function () { return MockAuthAdapter_js_1.MockAuthAdapter; } });
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { ITransportAdapter } from '../../abstractions/TransportAdapter.js';
|
|
2
|
+
import type { IAuthAdapter } from '../../abstractions/AuthAdapter.js';
|
|
3
|
+
import type { ConnectionState, ConnectionOptions, Message, MessageHandler, ErrorHandler, CloseHandler } from '../../types/index.js';
|
|
4
|
+
import type { Server as HttpServer } from 'http';
|
|
5
|
+
import type { Server as HttpsServer } from 'https';
|
|
6
|
+
import { WebSocketServer, WebSocket } from 'ws';
|
|
7
|
+
interface ClientConnection {
|
|
8
|
+
id: string;
|
|
9
|
+
ws: WebSocket;
|
|
10
|
+
userId?: string;
|
|
11
|
+
authenticated: boolean;
|
|
12
|
+
metadata?: Record<string, unknown>;
|
|
13
|
+
authTimeout?: NodeJS.Timeout;
|
|
14
|
+
connectedAt: number;
|
|
15
|
+
}
|
|
16
|
+
export interface WebSocketTransportConfig {
|
|
17
|
+
authTimeout?: number;
|
|
18
|
+
closeOnAuthFailure?: boolean;
|
|
19
|
+
requireAuth?: boolean;
|
|
20
|
+
}
|
|
21
|
+
export declare class WebSocketTransportAdapter implements ITransportAdapter {
|
|
22
|
+
private state;
|
|
23
|
+
private messageHandlers;
|
|
24
|
+
private errorHandlers;
|
|
25
|
+
private closeHandlers;
|
|
26
|
+
private wss?;
|
|
27
|
+
private serverUrl?;
|
|
28
|
+
private attachedServer?;
|
|
29
|
+
private attachedWss?;
|
|
30
|
+
private webSocketPath?;
|
|
31
|
+
private clients;
|
|
32
|
+
private mode;
|
|
33
|
+
private authAdapter?;
|
|
34
|
+
private config;
|
|
35
|
+
constructor(config?: WebSocketTransportConfig);
|
|
36
|
+
setAuthAdapter(auth: IAuthAdapter): void;
|
|
37
|
+
connect(url: string, _options?: ConnectionOptions): Promise<void>;
|
|
38
|
+
attach(server: HttpServer | HttpsServer, path?: string): Promise<void>;
|
|
39
|
+
attachToWebSocketServer(wss: WebSocketServer): Promise<void>;
|
|
40
|
+
private handleConnection;
|
|
41
|
+
private handleClientMessage;
|
|
42
|
+
private handleAuthMessage;
|
|
43
|
+
private extractBearerToken;
|
|
44
|
+
private sendToClient;
|
|
45
|
+
disconnect(): Promise<void>;
|
|
46
|
+
send(message: Message): Promise<void>;
|
|
47
|
+
onMessage(handler: MessageHandler): void;
|
|
48
|
+
onError(handler: ErrorHandler): void;
|
|
49
|
+
onClose(handler: CloseHandler): void;
|
|
50
|
+
getState(): ConnectionState;
|
|
51
|
+
isConnected(): boolean;
|
|
52
|
+
getConnectedClients(): ClientConnection[];
|
|
53
|
+
getAuthenticatedClients(): ClientConnection[];
|
|
54
|
+
getClientCount(): number;
|
|
55
|
+
getMode(): 'standalone' | 'integration';
|
|
56
|
+
isAuthRequired(): boolean;
|
|
57
|
+
private generateId;
|
|
58
|
+
}
|
|
59
|
+
export {};
|
|
60
|
+
//# sourceMappingURL=WebSocketTransportAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebSocketTransportAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/websocket/WebSocketTransportAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,OAAO,EACP,cAAc,EACd,YAAY,EACZ,YAAY,EAGb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAEhD,UAAU,gBAAgB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,SAAS,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,wBAAwB;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,qBAAa,yBAA0B,YAAW,iBAAiB;IACjE,OAAO,CAAC,KAAK,CAAmC;IAChD,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,aAAa,CAAgC;IACrD,OAAO,CAAC,aAAa,CAAgC;IAGrD,OAAO,CAAC,GAAG,CAAC,CAAkB;IAC9B,OAAO,CAAC,SAAS,CAAC,CAAS;IAG3B,OAAO,CAAC,cAAc,CAAC,CAA2B;IAClD,OAAO,CAAC,WAAW,CAAC,CAAkB;IACtC,OAAO,CAAC,aAAa,CAAC,CAAS;IAG/B,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,IAAI,CAA8C;IAG1D,OAAO,CAAC,WAAW,CAAC,CAAe;IACnC,OAAO,CAAC,MAAM,CAA2B;gBAE7B,MAAM,CAAC,EAAE,wBAAwB;IAU7C,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAYlC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsCjE,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,WAAW,EAAE,IAAI,GAAE,MAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC7E,uBAAuB,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;YA2BpD,gBAAgB;YA6EhB,mBAAmB;YAuCnB,iBAAiB;IA4E/B,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,YAAY;IAMd,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAiC3B,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B3C,SAAS,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAIxC,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAIpC,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAIpC,QAAQ,IAAI,eAAe;IAI3B,WAAW,IAAI,OAAO;IAKtB,mBAAmB,IAAI,gBAAgB,EAAE;IAIzC,uBAAuB,IAAI,gBAAgB,EAAE;IAI7C,cAAc,IAAI,MAAM;IAIxB,OAAO,IAAI,YAAY,GAAG,aAAa;IAIvC,cAAc,IAAI,OAAO;IAIzB,OAAO,CAAC,UAAU;CAGnB"}
|