@4players/odin-plugin-web 1.0.0-alpha.6 → 1.0.0-alpha.60

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.
Files changed (50) hide show
  1. package/README.md +1 -1
  2. package/cmake/dependencies.cmake +31 -0
  3. package/cmake/options.cmake +53 -0
  4. package/esbuild.config.ts +49 -0
  5. package/lib/plugin/index.d.ts +45 -0
  6. package/lib/plugin/index.js +1 -0
  7. package/lib/worker/shared.js +1 -0
  8. package/lib/worker/unshared.js +1 -0
  9. package/package.json +38 -30
  10. package/backend/lib/audioController.d.ts +0 -102
  11. package/backend/lib/audioController.d.ts.map +0 -1
  12. package/backend/lib/audioController.js +0 -442
  13. package/backend/lib/audioController.js.map +0 -1
  14. package/backend/lib/config.d.ts +0 -11
  15. package/backend/lib/config.d.ts.map +0 -1
  16. package/backend/lib/config.js +0 -11
  17. package/backend/lib/config.js.map +0 -1
  18. package/backend/lib/connectionPool.d.ts +0 -17
  19. package/backend/lib/connectionPool.d.ts.map +0 -1
  20. package/backend/lib/connectionPool.js +0 -111
  21. package/backend/lib/connectionPool.js.map +0 -1
  22. package/backend/lib/index.d.ts +0 -53
  23. package/backend/lib/index.d.ts.map +0 -1
  24. package/backend/lib/index.js +0 -293
  25. package/backend/lib/index.js.map +0 -1
  26. package/backend/lib/mainConnection.d.ts +0 -40
  27. package/backend/lib/mainConnection.d.ts.map +0 -1
  28. package/backend/lib/mainConnection.js +0 -294
  29. package/backend/lib/mainConnection.js.map +0 -1
  30. package/backend/lib/roomConnection.d.ts +0 -37
  31. package/backend/lib/roomConnection.d.ts.map +0 -1
  32. package/backend/lib/roomConnection.js +0 -299
  33. package/backend/lib/roomConnection.js.map +0 -1
  34. package/backend/lib/rpcConnection.d.ts +0 -49
  35. package/backend/lib/rpcConnection.d.ts.map +0 -1
  36. package/backend/lib/rpcConnection.js +0 -235
  37. package/backend/lib/rpcConnection.js.map +0 -1
  38. package/backend/lib/token.d.ts +0 -16
  39. package/backend/lib/token.d.ts.map +0 -1
  40. package/backend/lib/token.js +0 -67
  41. package/backend/lib/token.js.map +0 -1
  42. package/backend/package.json +0 -16
  43. package/wasm/lib/index.d.ts +0 -97
  44. package/wasm/lib/index.js +0 -19
  45. package/wasm/package.json +0 -14
  46. package/worker/lib/common.d.ts +0 -27
  47. package/worker/lib/index.d.ts +0 -46
  48. package/worker/lib/index.js +0 -2
  49. package/worker/lib/messages.d.ts +0 -93
  50. package/worker/package.json +0 -16
@@ -1 +0,0 @@
1
- {"version":3,"file":"roomConnection.js","sourceRoot":"","sources":["../src/roomConnection.ts"],"names":[],"mappings":"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"}
@@ -1,49 +0,0 @@
1
- import * as z from 'zod';
2
- import { Result, RpcMessage } from '@4players/odin-common';
3
- export declare function connect(url: URL, signal: AbortSignal): Promise<Result<WebSocket>>;
4
- export declare function connectOnce(url: URL, signal: AbortSignal): Promise<Result<WebSocket>>;
5
- export declare class RpcConnection {
6
- readonly webSocket: WebSocket;
7
- private readonly _SendQueue;
8
- private readonly _RecvQueue;
9
- private readonly _Requests;
10
- private readonly _Close;
11
- private _NextId;
12
- get closed(): boolean;
13
- get closeSignal(): AbortSignal;
14
- constructor(webSocket: WebSocket);
15
- request(name: string, properties: unknown): Promise<Result<unknown> | 'closed'>;
16
- request(name: string, properties: unknown, timeout: number): Promise<Result<unknown> | 'closed' | 'timeout'>;
17
- notify(name: string, properties: unknown): void;
18
- recv(): Promise<RpcMessage | 'closed'>;
19
- close(): void;
20
- private _TimeoutRequest;
21
- private _Send;
22
- private _OnWebSocketOpen;
23
- private _OnWebSocketMessage;
24
- private _OnResponse;
25
- private _OnEvent;
26
- private _Cleanup;
27
- }
28
- export type Commands = Record<string, {
29
- request: z.ZodTypeAny;
30
- response: z.ZodTypeAny;
31
- }>;
32
- export type Events = Record<string, z.ZodTypeAny>;
33
- export interface TypedRpcMessage<Name extends string, Properties> extends RpcMessage {
34
- name: Name;
35
- properties: Properties;
36
- }
37
- export type RealizedEvents<E extends Events> = {
38
- [Name in Extract<keyof E, string>]: TypedRpcMessage<Name, z.infer<E[Name]>>;
39
- }[Extract<keyof E, string>];
40
- export declare class TypedRpcConnection<C extends Commands, E extends Events> extends RpcConnection {
41
- readonly _Commands: C;
42
- readonly _Events: E;
43
- constructor(webSocket: WebSocket, _Commands: C, _Events: E);
44
- request<Name extends Extract<keyof C, string>>(name: Name, properties: z.infer<C[Name]['request']>): Promise<Result<z.infer<C[Name]['response']>> | 'closed'>;
45
- request<Name extends Extract<keyof C, string>>(name: Name, properties: z.infer<C[Name]['request']>, timeout: number): Promise<Result<z.infer<C[Name]['response']>> | 'closed' | 'timeout'>;
46
- notify<Name extends Extract<keyof C, string>>(name: Name, properties: z.infer<C[Name]['request']>): void;
47
- recv(): Promise<RealizedEvents<E> | 'closed'>;
48
- }
49
- //# sourceMappingURL=rpcConnection.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rpcConnection.d.ts","sourceRoot":"","sources":["../src/rpcConnection.ts"],"names":[],"mappings":"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"}
@@ -1,235 +0,0 @@
1
- /* eslint-disable no-dupe-class-members */
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- import * as msgpack from '@msgpack/msgpack';
12
- import { failure, success, isKnownRpcMessage, parseRpc, parseRpcMessage, abortableSleep, } from '@4players/odin-common';
13
- import { ConnectInterval } from './config';
14
- export function connect(url, signal) {
15
- return __awaiter(this, void 0, void 0, function* () {
16
- console.debug(`connecting to ${url}`);
17
- const start = performance.now();
18
- let connection = failure('no connection was attempted');
19
- for (let failures = 0; failures < ConnectInterval.length && signal.aborted === false; failures++) {
20
- const nextReconnectAt = start + whenToConnect(failures);
21
- if ((yield abortableSleep(nextReconnectAt - performance.now(), signal)) ===
22
- 'aborted') {
23
- return failure('aborted');
24
- }
25
- connection = yield connectOnce(url, signal);
26
- if (connection.type === 'Success') {
27
- return connection;
28
- }
29
- }
30
- return connection;
31
- });
32
- }
33
- export function connectOnce(url, signal) {
34
- return __awaiter(this, void 0, void 0, function* () {
35
- let webSocket;
36
- try {
37
- webSocket = new WebSocket(url);
38
- }
39
- catch (reason) {
40
- return failure(`unable to create websocket; ${reason}`);
41
- }
42
- const abort = new AbortController();
43
- const onOpen = new Promise((accept) => webSocket.addEventListener('open', () => accept(success(webSocket)), {
44
- signal: abort.signal,
45
- }));
46
- const onClose = new Promise((accept) => webSocket.addEventListener('close', (event) => accept(failure(event.reason)), { signal: abort.signal }));
47
- const onAbort = new Promise((accept) => signal.addEventListener('abort', () => accept(failure('aborted')), {
48
- signal: abort.signal,
49
- }));
50
- const result = yield Promise.race([onOpen, onClose, onAbort]);
51
- abort.abort();
52
- return result;
53
- });
54
- }
55
- function whenToConnect(failures) {
56
- const past_connects = ConnectInterval.slice(0, failures).reduce((a, b) => a + b, 0);
57
- const interval = ConnectInterval[failures] * Math.random();
58
- return past_connects + interval;
59
- }
60
- export class RpcConnection {
61
- get closed() {
62
- return this._Close.signal.aborted;
63
- }
64
- get closeSignal() {
65
- return this._Close.signal;
66
- }
67
- constructor(webSocket) {
68
- this.webSocket = webSocket;
69
- this._SendQueue = [];
70
- this._RecvQueue = [];
71
- this._Requests = new Map();
72
- this._Close = new AbortController();
73
- this._NextId = 1;
74
- this.webSocket.addEventListener('open', this._OnWebSocketOpen.bind(this));
75
- this.webSocket.addEventListener('close', this.close.bind(this));
76
- this.webSocket.addEventListener('message', this._OnWebSocketMessage.bind(this));
77
- this.webSocket.binaryType = 'arraybuffer';
78
- this._Close.signal.addEventListener('abort', this._Cleanup.bind(this), {
79
- once: true,
80
- });
81
- }
82
- request(name, properties, timeout) {
83
- return __awaiter(this, void 0, void 0, function* () {
84
- if (this.closed) {
85
- return Promise.resolve('closed');
86
- }
87
- const id = this._NextId;
88
- const timeoutId = timeout === undefined
89
- ? undefined
90
- : setTimeout(() => this._TimeoutRequest(id), timeout);
91
- this._Send([0, id, name, properties]);
92
- return new Promise((accept) => {
93
- this._Requests.set(id, { accept, timeoutId });
94
- this._NextId += 1;
95
- });
96
- });
97
- }
98
- notify(name, properties) {
99
- if (this.closed === false) {
100
- this._Send([2, name, properties]);
101
- }
102
- }
103
- recv() {
104
- if (this.closed === false) {
105
- return new Promise((accept) => this._RecvQueue.push(accept));
106
- }
107
- else {
108
- return Promise.resolve('closed');
109
- }
110
- }
111
- close() {
112
- this._Close.abort();
113
- }
114
- _TimeoutRequest(requestId) {
115
- const request = this._Requests.get(requestId);
116
- if (request === undefined)
117
- return;
118
- this._Requests.delete(requestId);
119
- clearTimeout(request.timeoutId);
120
- request.accept('timeout');
121
- }
122
- _Send(message) {
123
- this.webSocket.send(msgpack.encode(message));
124
- }
125
- _OnWebSocketOpen(ev) {
126
- for (const data in this._SendQueue) {
127
- this.webSocket.send(data);
128
- }
129
- this._SendQueue.length = 0;
130
- }
131
- _OnWebSocketMessage(ev) {
132
- const rpc = parseRpc(ev.data);
133
- if (rpc.type !== 'Success') {
134
- this.webSocket.close();
135
- return;
136
- }
137
- switch (rpc.value[0]) {
138
- case 0:
139
- this._Send([1, rpc.value[1], 'not supported', undefined]);
140
- break;
141
- case 1:
142
- this._OnResponse(rpc.value[1], rpc.value[2], rpc.value[3]);
143
- break;
144
- case 2:
145
- this._OnEvent(rpc.value[1], rpc.value[2]);
146
- break;
147
- }
148
- }
149
- _OnResponse(id, error, result) {
150
- const request = this._Requests.get(id);
151
- if (request === undefined)
152
- return;
153
- clearTimeout(request.timeoutId);
154
- request.accept(error === null ? success(result) : failure(error));
155
- }
156
- _OnEvent(name, properties) {
157
- console.log('event', name, properties);
158
- const receiver = this._RecvQueue.shift();
159
- if (receiver !== undefined) {
160
- receiver({ name, properties });
161
- }
162
- }
163
- _Cleanup() {
164
- console.log(`cleanup ${this.webSocket.url}`);
165
- for (const request of this._Requests.values()) {
166
- clearTimeout(request.timeoutId);
167
- request.accept('closed');
168
- }
169
- this._Requests.clear();
170
- for (const accept of this._RecvQueue) {
171
- accept('closed');
172
- }
173
- this._RecvQueue.length = 0;
174
- this._SendQueue.length = 0;
175
- this.webSocket.close();
176
- }
177
- }
178
- export class TypedRpcConnection extends RpcConnection {
179
- constructor(webSocket, _Commands, _Events) {
180
- super(webSocket);
181
- this._Commands = _Commands;
182
- this._Events = _Events;
183
- }
184
- request(name, properties, timeout) {
185
- const _super = Object.create(null, {
186
- request: { get: () => super.request }
187
- });
188
- return __awaiter(this, void 0, void 0, function* () {
189
- properties = this._Commands[name].request.parse(properties);
190
- const response = yield (timeout !== undefined
191
- ? _super.request.call(this, name, properties, timeout)
192
- : _super.request.call(this, name, properties));
193
- if (response === 'closed' ||
194
- response === 'timeout' ||
195
- response.type === 'Failure') {
196
- return response;
197
- }
198
- const parsed = this._Commands[name].response.safeParse(response.value);
199
- if (parsed.success) {
200
- response.value = parsed.data;
201
- return response;
202
- }
203
- else {
204
- return failure(`response schema failed validation: ${parsed.error}`);
205
- }
206
- });
207
- }
208
- notify(name, properties) {
209
- properties = this._Commands[name].request.parse(properties);
210
- super.notify(name, properties);
211
- }
212
- recv() {
213
- const _super = Object.create(null, {
214
- recv: { get: () => super.recv }
215
- });
216
- return __awaiter(this, void 0, void 0, function* () {
217
- const event = yield _super.recv.call(this);
218
- if (event === 'closed')
219
- return event;
220
- const parsed = parseRpcMessage(this._Events, event);
221
- if (parsed !== undefined) {
222
- return parsed;
223
- }
224
- if (!isKnownRpcMessage(this._Events, event.name)) {
225
- console.warn(`dropping unknown event ${event.name}`);
226
- }
227
- else {
228
- console.error(`schema validation for ${event.name} failed; closing connection`);
229
- this.close();
230
- }
231
- return 'closed';
232
- });
233
- }
234
- }
235
- //# sourceMappingURL=rpcConnection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rpcConnection.js","sourceRoot":"","sources":["../src/rpcConnection.ts"],"names":[],"mappings":"AAAA,0CAA0C;;;;;;;;;;AAE1C,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAEL,OAAO,EACP,OAAO,EAIP,iBAAiB,EACjB,QAAQ,EACR,eAAe,EAGf,cAAc,GACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,MAAM,UAAgB,OAAO,CAC3B,GAAQ,EACR,MAAmB;;QAEnB,OAAO,CAAC,KAAK,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAChC,IAAI,UAAU,GAAsB,OAAO,CAAC,6BAA6B,CAAC,CAAC;QAC3E,KACE,IAAI,QAAQ,GAAG,CAAC,EAChB,QAAQ,GAAG,eAAe,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAC7D,QAAQ,EAAE,EACV,CAAC;YACD,MAAM,eAAe,GAAG,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;YACxD,IACE,CAAC,MAAM,cAAc,CAAC,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;gBACnE,SAAS,EACT,CAAC;gBACD,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC;YAC5B,CAAC;YACD,UAAU,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC5C,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAClC,OAAO,UAAU,CAAC;YACpB,CAAC;QACH,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;CAAA;AAED,MAAM,UAAgB,WAAW,CAC/B,GAAQ,EACR,MAAmB;;QAEnB,IAAI,SAAoB,CAAC;QACzB,IAAI,CAAC;YACH,SAAS,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,OAAO,OAAO,CAAC,+BAA+B,MAAM,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,OAAO,CAAqB,CAAC,MAAM,EAAE,EAAE,CACxD,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE;YACnE,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,CACH,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,OAAO,CAAU,CAAC,MAAM,EAAE,EAAE,CAC9C,SAAS,CAAC,gBAAgB,CACxB,OAAO,EACP,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EACxC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CACzB,CACF,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,OAAO,CAAU,CAAC,MAAM,EAAE,EAAE,CAC9C,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE;YACjE,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,CACH,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAC9D,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,OAAO,MAAM,CAAC;IAChB,CAAC;CAAA;AAED,SAAS,aAAa,CAAC,QAAgB;IACrC,MAAM,aAAa,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,MAAM,CAC7D,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EACf,CAAC,CACF,CAAC;IACF,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC3D,OAAO,aAAa,GAAG,QAAQ,CAAC;AAClC,CAAC;AAOD,MAAM,OAAO,aAAa;IAOxB,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;IACpC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED,YAA4B,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;QAd/B,eAAU,GAAsB,EAAE,CAAC;QACnC,eAAU,GAAyC,EAAE,CAAC;QACtD,cAAS,GAAG,IAAI,GAAG,EAAmB,CAAC;QACvC,WAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACxC,YAAO,GAAG,CAAC,CAAC;QAWlB,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAC7B,SAAS,EACT,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CACpC,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,aAAa,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACrE,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAaK,OAAO,CACX,IAAY,EACZ,UAAmB,EACnB,OAAgB;;YAEhB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACnC,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;YACxB,MAAM,SAAS,GACb,OAAO,KAAK,SAAS;gBACnB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;YAC1D,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;YACtC,OAAO,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC9C,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAED,MAAM,CAAC,IAAY,EAAE,UAAmB;QACtC,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC1B,OAAO,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAEO,eAAe,CAAC,SAAiB;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO;QAClC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAChC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;IAEO,KAAK,CAAC,OAAuB;QACnC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,CAAC;IAEO,gBAAgB,CAAC,EAAS;QAChC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7B,CAAC;IAEO,mBAAmB,CAAC,EAA6B;QACvD,MAAM,GAAG,GAAG,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QACD,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,KAAK,CAAC;gBACJ,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC1D,MAAM;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3D,MAAM;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1C,MAAM;QACV,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,EAAU,EAAE,KAAoB,EAAE,MAAe;QACnE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO;QAClC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAChC,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACpE,CAAC;IAEO,QAAQ,CAAC,IAAY,EAAE,UAAmB;QAChD,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACzC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAEO,QAAQ;QACd,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9C,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAChC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;CACF;AAsBD,MAAM,OAAO,kBAGX,SAAQ,aAAa;IACrB,YACE,SAAoB,EACX,SAAY,EACZ,OAAU;QAEnB,KAAK,CAAC,SAAS,CAAC,CAAC;QAHR,cAAS,GAAT,SAAS,CAAG;QACZ,YAAO,GAAP,OAAO,CAAG;IAGrB,CAAC;IAac,OAAO,CACpB,IAAU,EACV,UAAuC,EACvC,OAAgB;;;;;YAEhB,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC5D,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS;gBAC3C,CAAC,CAAC,OAAM,OAAO,YAAC,IAAI,EAAE,UAAU,EAAE,OAAO;gBACzC,CAAC,CAAC,OAAM,OAAO,YAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;YACrC,IACE,QAAQ,KAAK,QAAQ;gBACrB,QAAQ,KAAK,SAAS;gBACtB,QAAQ,CAAC,IAAI,KAAK,SAAS,EAC3B,CAAC;gBACD,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACvE,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,QAAQ,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;gBAC7B,OAAO,QAAQ,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,OAAO,OAAO,CAAC,sCAAsC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;KAAA;IAEQ,MAAM,CACb,IAAU,EACV,UAAuC;QAEvC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC5D,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACjC,CAAC;IAEc,IAAI;;;;;YACjB,MAAM,KAAK,GAAG,MAAM,OAAM,IAAI,WAAE,CAAC;YACjC,IAAI,KAAK,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YACrC,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACpD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjD,OAAO,CAAC,IAAI,CAAC,0BAA0B,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CACX,yBAAyB,KAAK,CAAC,IAAI,6BAA6B,CACjE,CAAC;gBACF,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;KAAA;CACF"}
@@ -1,16 +0,0 @@
1
- import * as z from 'zod';
2
- import { TokenAudienceSchema, TokenClaimsSchema, Result } from '@4players/odin-common';
3
- export type TokenClaims = z.infer<typeof TokenClaimsSchema>;
4
- export declare class Token {
5
- readonly text: string;
6
- readonly claims: TokenClaims;
7
- static parse(token: string): Result<Token>;
8
- private readonly _Address;
9
- protected constructor(text: string, claims: TokenClaims);
10
- get timeLeft(): number;
11
- get address(): URL | undefined;
12
- get defaultRoomId(): string | undefined;
13
- hasAudience(audience: z.infer<typeof TokenAudienceSchema>): boolean;
14
- toString(): string;
15
- }
16
- //# sourceMappingURL=token.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,MAAM,EAIP,MAAM,uBAAuB,CAAC;AAE/B,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,qBAAa,KAAK;IAuBM,QAAQ,CAAC,IAAI,EAAE,MAAM;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW;IAtBzE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;IAoB1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAE3C,SAAS,aAAsB,IAAI,EAAE,MAAM,EAAW,MAAM,EAAE,WAAW;IAazE,IAAI,QAAQ,IAAI,MAAM,CAGrB;IAED,IAAI,OAAO,IAAI,GAAG,GAAG,SAAS,CAE7B;IAED,IAAI,aAAa,IAAI,MAAM,GAAG,SAAS,CAMtC;IAED,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,GAAG,OAAO;IASnE,QAAQ,IAAI,MAAM;CAGnB"}
@@ -1,67 +0,0 @@
1
- import { TokenClaimsSchema, failure, fromBase64Url, success, } from '@4players/odin-common';
2
- export class Token {
3
- static parse(token) {
4
- const segments = token.split('.');
5
- if (segments.length !== 3)
6
- return failure('expected three segments');
7
- const body = fromBase64Url(segments[1]);
8
- if (body.type === 'Failure') {
9
- return failure(`invalid token; ${body.reason}`);
10
- }
11
- let json;
12
- try {
13
- json = JSON.parse(body.value);
14
- }
15
- catch (reason) {
16
- return failure(`invalid token; ${reason}`);
17
- }
18
- const parsed = TokenClaimsSchema.safeParse(json);
19
- if (parsed.success === false) {
20
- return failure(`invalid token; ${parsed.error}`);
21
- }
22
- return success(new Token(token, parsed.data));
23
- }
24
- constructor(text, claims) {
25
- this.text = text;
26
- this.claims = claims;
27
- const address = claims.adr;
28
- if (address !== undefined) {
29
- try {
30
- this._Address = new URL(`wss://${address}`);
31
- }
32
- catch (error) {
33
- console.error(`address in token(${address}) can not be parsed; ${error}`);
34
- }
35
- }
36
- }
37
- get timeLeft() {
38
- if (this.claims.exp === undefined)
39
- return Infinity;
40
- return this.claims.exp * 1000 - Date.now();
41
- }
42
- get address() {
43
- return this._Address;
44
- }
45
- get defaultRoomId() {
46
- if (Array.isArray(this.claims.rid)) {
47
- return this.claims.rid.length === 1 ? this.claims.rid[0] : undefined;
48
- }
49
- else {
50
- return this.claims.rid;
51
- }
52
- }
53
- hasAudience(audience) {
54
- if (this.claims.aud === undefined)
55
- return true;
56
- if (Array.isArray(this.claims.aud)) {
57
- return this.claims.aud.includes(audience);
58
- }
59
- else {
60
- return this.claims.aud === audience;
61
- }
62
- }
63
- toString() {
64
- return this.text;
65
- }
66
- }
67
- //# sourceMappingURL=token.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"token.js","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- {
2
- "name": "@4players/odin-plugin-web-backend",
3
- "version": "0.0.0",
4
- "author": "Maximilian Münchow <maximilian.muenchow@4players.io>",
5
- "private": true,
6
- "license": "UNLICENSED",
7
- "main": "./lib/index.js",
8
- "types": "./lib/index.d.ts",
9
- "scripts": {
10
- "clean": "rm -rf lib",
11
- "build": "tsc"
12
- },
13
- "dependencies": {
14
- "@4players/odin-plugin-web-worker": "file:../worker/"
15
- }
16
- }
@@ -1,97 +0,0 @@
1
- export declare namespace OdinWasm {
2
- function _malloc(size: number): number;
3
- function _free(ptr: number): void;
4
-
5
- const ready: Promise<typeof OdinWasm>;
6
-
7
- const HEAP8: Int8Array;
8
- const HEAPU8: Uint8Array;
9
- const HEAP16: Int16Array;
10
- const HEAPU16: Uint16Array;
11
- const HEAP32: Int32Array;
12
- const HEAPU32: Uint32Array;
13
- const HEAPF32: Float32Array;
14
- const HEAPF64: Float64Array;
15
-
16
- interface BindInfo {
17
- count: {
18
- value: number;
19
- };
20
- ptr: number;
21
- }
22
-
23
- class Encoder {
24
- '$$': BindInfo;
25
-
26
- constructor(
27
- sample_rate: number,
28
- fec_packet_loss: number,
29
- voip: boolean,
30
- vad_preload: number
31
- );
32
-
33
- complexity: number;
34
-
35
- readonly speech_probability: boolean;
36
- readonly rms_dbfs: boolean;
37
- readonly active: boolean;
38
- set_speech_detection(
39
- enabled: boolean,
40
- going_active: number,
41
- going_inactive: number
42
- ): void;
43
-
44
- set_volume_gate(
45
- enabled: boolean,
46
- going_active: number,
47
- going_inactive: number
48
- ): void;
49
-
50
- push(samples: number, information: number): void;
51
- pop(bytes: number, bytes_length: number): number;
52
-
53
- delete(): void;
54
- }
55
-
56
- class Decoder {
57
- '$$': BindInfo;
58
-
59
- constructor();
60
-
61
- volume: number;
62
-
63
- readonly packets_seen: number;
64
- readonly packets_invalid: number;
65
- readonly packets_too_late: number;
66
- readonly packets_too_early: number;
67
- readonly packets_repeated: number;
68
- readonly packets_processed: number;
69
- readonly packets_lost: number;
70
- readonly rewinds: number;
71
- readonly cache_length: number;
72
-
73
- push(
74
- sequence_number: number,
75
- timestamp: number,
76
- is_end_of_spurt: boolean,
77
- payload: number,
78
- length: number
79
- ): number;
80
-
81
- pop(samples: number): boolean;
82
-
83
- delete(): void;
84
- isDeleted(): boolean;
85
- }
86
-
87
- function pop_many(
88
- decoders: number,
89
- activities: number,
90
- count: number,
91
- samples: number
92
- ): boolean;
93
- }
94
-
95
- declare function LoadOdinWasm(): typeof OdinWasm;
96
-
97
- export default LoadOdinWasm;