miakapi 3.0.31 → 4.0.0-alpha.1
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/LICENSE +15 -0
- package/README.md +372 -0
- package/contracts/miakapp-v3.json +6 -0
- package/dist/access-token-provider.d.ts +8 -0
- package/dist/access-token-provider.d.ts.map +1 -0
- package/dist/access-token-provider.js +167 -0
- package/dist/access-token-provider.js.map +1 -0
- package/dist/api.d.ts +224 -0
- package/dist/api.d.ts.map +1 -0
- package/dist/api.js +47 -0
- package/dist/api.js.map +1 -0
- package/dist/browser-api.d.ts +113 -0
- package/dist/browser-api.d.ts.map +1 -0
- package/dist/browser-api.js +2 -0
- package/dist/browser-api.js.map +1 -0
- package/dist/browser-client.d.ts +3 -0
- package/dist/browser-client.d.ts.map +1 -0
- package/dist/browser-client.js +678 -0
- package/dist/browser-client.js.map +1 -0
- package/dist/browser-relay-credential-provider.d.ts +3 -0
- package/dist/browser-relay-credential-provider.d.ts.map +1 -0
- package/dist/browser-relay-credential-provider.js +243 -0
- package/dist/browser-relay-credential-provider.js.map +1 -0
- package/dist/browser.d.ts +4 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +4 -0
- package/dist/browser.js.map +1 -0
- package/dist/coordinator.d.ts +3 -0
- package/dist/coordinator.d.ts.map +1 -0
- package/dist/coordinator.js +547 -0
- package/dist/coordinator.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/browser-errors.d.ts +31 -0
- package/dist/internal/browser-errors.d.ts.map +1 -0
- package/dist/internal/browser-errors.js +69 -0
- package/dist/internal/browser-errors.js.map +1 -0
- package/dist/internal/browser-socket.d.ts +8 -0
- package/dist/internal/browser-socket.d.ts.map +1 -0
- package/dist/internal/browser-socket.js +204 -0
- package/dist/internal/browser-socket.js.map +1 -0
- package/dist/internal/calls.d.ts +33 -0
- package/dist/internal/calls.d.ts.map +1 -0
- package/dist/internal/calls.js +525 -0
- package/dist/internal/calls.js.map +1 -0
- package/dist/internal/control-plane-response.d.ts +10 -0
- package/dist/internal/control-plane-response.d.ts.map +1 -0
- package/dist/internal/control-plane-response.js +283 -0
- package/dist/internal/control-plane-response.js.map +1 -0
- package/dist/internal/declarations.d.ts +88 -0
- package/dist/internal/declarations.d.ts.map +1 -0
- package/dist/internal/declarations.js +561 -0
- package/dist/internal/declarations.js.map +1 -0
- package/dist/internal/errors.d.ts +31 -0
- package/dist/internal/errors.d.ts.map +1 -0
- package/dist/internal/errors.js +72 -0
- package/dist/internal/errors.js.map +1 -0
- package/dist/internal/events.d.ts +27 -0
- package/dist/internal/events.d.ts.map +1 -0
- package/dist/internal/events.js +207 -0
- package/dist/internal/events.js.map +1 -0
- package/dist/internal/presence.d.ts +15 -0
- package/dist/internal/presence.d.ts.map +1 -0
- package/dist/internal/presence.js +99 -0
- package/dist/internal/presence.js.map +1 -0
- package/dist/internal/resources.d.ts +33 -0
- package/dist/internal/resources.d.ts.map +1 -0
- package/dist/internal/resources.js +136 -0
- package/dist/internal/resources.js.map +1 -0
- package/dist/internal/runtime.d.ts +34 -0
- package/dist/internal/runtime.d.ts.map +1 -0
- package/dist/internal/runtime.js +17 -0
- package/dist/internal/runtime.js.map +1 -0
- package/dist/internal/session.d.ts +33 -0
- package/dist/internal/session.d.ts.map +1 -0
- package/dist/internal/session.js +199 -0
- package/dist/internal/session.js.map +1 -0
- package/dist/internal/socket.d.ts +6 -0
- package/dist/internal/socket.d.ts.map +1 -0
- package/dist/internal/socket.js +176 -0
- package/dist/internal/socket.js.map +1 -0
- package/dist/internal/state.d.ts +30 -0
- package/dist/internal/state.d.ts.map +1 -0
- package/dist/internal/state.js +188 -0
- package/dist/internal/state.js.map +1 -0
- package/dist/internal/user-calls.d.ts +27 -0
- package/dist/internal/user-calls.d.ts.map +1 -0
- package/dist/internal/user-calls.js +325 -0
- package/dist/internal/user-calls.js.map +1 -0
- package/dist/internal/user-session.d.ts +36 -0
- package/dist/internal/user-session.d.ts.map +1 -0
- package/dist/internal/user-session.js +250 -0
- package/dist/internal/user-session.js.map +1 -0
- package/dist/internal/user-state.d.ts +21 -0
- package/dist/internal/user-state.d.ts.map +1 -0
- package/dist/internal/user-state.js +240 -0
- package/dist/internal/user-state.js.map +1 -0
- package/dist/internal/validation.d.ts +32 -0
- package/dist/internal/validation.d.ts.map +1 -0
- package/dist/internal/validation.js +553 -0
- package/dist/internal/validation.js.map +1 -0
- package/dist/protocol/codec.d.ts +75 -0
- package/dist/protocol/codec.d.ts.map +1 -0
- package/dist/protocol/codec.js +1091 -0
- package/dist/protocol/codec.js.map +1 -0
- package/dist/protocol/session.d.ts +14 -0
- package/dist/protocol/session.d.ts.map +1 -0
- package/dist/protocol/session.js +125 -0
- package/dist/protocol/session.js.map +1 -0
- package/dist/protocol/user-session.d.ts +14 -0
- package/dist/protocol/user-session.d.ts.map +1 -0
- package/dist/protocol/user-session.js +116 -0
- package/dist/protocol/user-session.js.map +1 -0
- package/package.json +58 -9
- package/.eslintrc.js +0 -16
- package/.gitattributes +0 -2
- package/main.js +0 -305
- package/miakode.js +0 -56
- package/screenshots/bigGrid.jpg +0 -0
- package/screenshots/formExample.jpg +0 -0
- package/screenshots/properties&table.jpg +0 -0
- package/test.js +0 -45
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codec.js","sourceRoot":"","sources":["../../src/protocol/codec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type Frame } from './codec.js';
|
|
2
|
+
export type ProtocolSessionPhase = 'fresh' | 'awaiting_welcome' | 'active' | 'draining' | 'closed';
|
|
3
|
+
export declare class ProtocolSessionError extends Error {
|
|
4
|
+
readonly kind: 'wrong_direction' | 'unexpected_frame';
|
|
5
|
+
constructor(kind: 'wrong_direction' | 'unexpected_frame', message: string);
|
|
6
|
+
}
|
|
7
|
+
export declare class CoordinatorProtocolSession {
|
|
8
|
+
#private;
|
|
9
|
+
get phase(): ProtocolSessionPhase;
|
|
10
|
+
encode(frame: Frame): Uint8Array;
|
|
11
|
+
decode(bytes: Uint8Array): Frame;
|
|
12
|
+
close(): void;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/protocol/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,KAAK,EACX,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,oBAAoB,GAC5B,OAAO,GACP,kBAAkB,GAClB,QAAQ,GACR,UAAU,GACV,QAAQ,CAAC;AAEb,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,IAAI,EAAE,iBAAiB,GAAG,kBAAkB,CAAC;IAEtD,YAAY,IAAI,EAAE,iBAAiB,GAAG,kBAAkB,EAAE,OAAO,EAAE,MAAM,EAIxE;CACF;AAwED,qBAAa,0BAA0B;;IAGrC,IAAI,KAAK,IAAI,oBAAoB,CAEhC;IAED,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU,CAiB/B;IAED,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,CAqB/B;IAED,KAAK,IAAI,IAAI,CAEZ;CACF"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { decodeFrame, encodeFrame, Opcode, } from './codec.js';
|
|
2
|
+
export class ProtocolSessionError extends Error {
|
|
3
|
+
kind;
|
|
4
|
+
constructor(kind, message) {
|
|
5
|
+
super(message);
|
|
6
|
+
this.name = 'ProtocolSessionError';
|
|
7
|
+
this.kind = kind;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
const ACTIVE_OUTGOING = new Set([
|
|
11
|
+
Opcode.Reauth,
|
|
12
|
+
Opcode.StateSync,
|
|
13
|
+
Opcode.StateSet,
|
|
14
|
+
Opcode.StateAclSync,
|
|
15
|
+
Opcode.EventSync,
|
|
16
|
+
Opcode.EventAclSync,
|
|
17
|
+
Opcode.Subscribe,
|
|
18
|
+
Opcode.Unsubscribe,
|
|
19
|
+
Opcode.Event,
|
|
20
|
+
Opcode.FunctionSync,
|
|
21
|
+
Opcode.Call,
|
|
22
|
+
Opcode.CallResult,
|
|
23
|
+
Opcode.CallError,
|
|
24
|
+
Opcode.CallCancel,
|
|
25
|
+
Opcode.CallCredit,
|
|
26
|
+
]);
|
|
27
|
+
const ACTIVE_INCOMING = new Set([
|
|
28
|
+
Opcode.Error,
|
|
29
|
+
Opcode.Fatal,
|
|
30
|
+
Opcode.ReauthOk,
|
|
31
|
+
Opcode.Goaway,
|
|
32
|
+
Opcode.StateSyncOk,
|
|
33
|
+
Opcode.StateDict,
|
|
34
|
+
Opcode.StateSetOk,
|
|
35
|
+
Opcode.StateAclOk,
|
|
36
|
+
Opcode.EventSyncOk,
|
|
37
|
+
Opcode.TopicDict,
|
|
38
|
+
Opcode.EventAclOk,
|
|
39
|
+
Opcode.SubscribeOk,
|
|
40
|
+
Opcode.UnsubscribeOk,
|
|
41
|
+
Opcode.Event,
|
|
42
|
+
Opcode.FunctionSyncOk,
|
|
43
|
+
Opcode.FunctionDict,
|
|
44
|
+
Opcode.CallDispatch,
|
|
45
|
+
Opcode.CallAccepted,
|
|
46
|
+
Opcode.CallResult,
|
|
47
|
+
Opcode.CallError,
|
|
48
|
+
Opcode.CallCancel,
|
|
49
|
+
Opcode.CallCredit,
|
|
50
|
+
Opcode.PresenceSnapshot,
|
|
51
|
+
Opcode.PresenceChange,
|
|
52
|
+
]);
|
|
53
|
+
const DRAINING_OUTGOING = new Set([
|
|
54
|
+
Opcode.CallResult,
|
|
55
|
+
Opcode.CallError,
|
|
56
|
+
]);
|
|
57
|
+
function wrongDirection(opcode, direction) {
|
|
58
|
+
throw new ProtocolSessionError('wrong_direction', `Opcode 0x${opcode.toString(16).padStart(2, '0')} is not valid ${direction} coordinator traffic`);
|
|
59
|
+
}
|
|
60
|
+
function unexpected(opcode, phase) {
|
|
61
|
+
throw new ProtocolSessionError('unexpected_frame', `Opcode 0x${opcode.toString(16).padStart(2, '0')} is not valid during ${phase}`);
|
|
62
|
+
}
|
|
63
|
+
function validateEventArity(frame, direction) {
|
|
64
|
+
if (frame.opcode !== Opcode.Event)
|
|
65
|
+
return;
|
|
66
|
+
const expected = direction === 'outgoing' ? 5 : 6;
|
|
67
|
+
if (frame.payload.length !== expected)
|
|
68
|
+
wrongDirection(frame.opcode, direction);
|
|
69
|
+
}
|
|
70
|
+
export class CoordinatorProtocolSession {
|
|
71
|
+
#phase = 'fresh';
|
|
72
|
+
get phase() {
|
|
73
|
+
return this.#phase;
|
|
74
|
+
}
|
|
75
|
+
encode(frame) {
|
|
76
|
+
validateEventArity(frame, 'outgoing');
|
|
77
|
+
if (this.#phase === 'fresh') {
|
|
78
|
+
if (frame.opcode !== Opcode.Hello)
|
|
79
|
+
unexpected(frame.opcode, this.#phase);
|
|
80
|
+
const encoded = encodeFrame(frame);
|
|
81
|
+
this.#phase = 'awaiting_welcome';
|
|
82
|
+
return encoded;
|
|
83
|
+
}
|
|
84
|
+
if (this.#phase === 'active') {
|
|
85
|
+
if (!ACTIVE_OUTGOING.has(frame.opcode))
|
|
86
|
+
wrongDirection(frame.opcode, 'outgoing');
|
|
87
|
+
return encodeFrame(frame);
|
|
88
|
+
}
|
|
89
|
+
if (this.#phase === 'draining') {
|
|
90
|
+
if (!DRAINING_OUTGOING.has(frame.opcode))
|
|
91
|
+
unexpected(frame.opcode, this.#phase);
|
|
92
|
+
return encodeFrame(frame);
|
|
93
|
+
}
|
|
94
|
+
return unexpected(frame.opcode, this.#phase);
|
|
95
|
+
}
|
|
96
|
+
decode(bytes) {
|
|
97
|
+
const frame = decodeFrame(bytes);
|
|
98
|
+
validateEventArity(frame, 'incoming');
|
|
99
|
+
if (this.#phase === 'awaiting_welcome') {
|
|
100
|
+
if (frame.opcode === Opcode.Welcome) {
|
|
101
|
+
this.#phase = 'active';
|
|
102
|
+
return frame;
|
|
103
|
+
}
|
|
104
|
+
if (frame.opcode === Opcode.Fatal) {
|
|
105
|
+
this.#phase = 'closed';
|
|
106
|
+
return frame;
|
|
107
|
+
}
|
|
108
|
+
return unexpected(frame.opcode, this.#phase);
|
|
109
|
+
}
|
|
110
|
+
if (this.#phase === 'active' || this.#phase === 'draining') {
|
|
111
|
+
if (!ACTIVE_INCOMING.has(frame.opcode))
|
|
112
|
+
wrongDirection(frame.opcode, 'incoming');
|
|
113
|
+
if (frame.opcode === Opcode.Goaway)
|
|
114
|
+
this.#phase = 'draining';
|
|
115
|
+
if (frame.opcode === Opcode.Fatal)
|
|
116
|
+
this.#phase = 'closed';
|
|
117
|
+
return frame;
|
|
118
|
+
}
|
|
119
|
+
return unexpected(frame.opcode, this.#phase);
|
|
120
|
+
}
|
|
121
|
+
close() {
|
|
122
|
+
this.#phase = 'closed';
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/protocol/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type Frame } from './codec.js';
|
|
2
|
+
export type UserProtocolSessionPhase = 'fresh' | 'awaiting_welcome' | 'active' | 'draining' | 'closed';
|
|
3
|
+
export declare class UserProtocolSessionError extends Error {
|
|
4
|
+
readonly kind: 'wrong_direction' | 'unexpected_frame';
|
|
5
|
+
constructor(kind: 'wrong_direction' | 'unexpected_frame', message: string);
|
|
6
|
+
}
|
|
7
|
+
export declare class UserProtocolSession {
|
|
8
|
+
#private;
|
|
9
|
+
get phase(): UserProtocolSessionPhase;
|
|
10
|
+
encode(frame: Frame): Uint8Array;
|
|
11
|
+
decode(bytes: Uint8Array): Frame;
|
|
12
|
+
close(): void;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=user-session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-session.d.ts","sourceRoot":"","sources":["../../src/protocol/user-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,KAAK,EACX,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,wBAAwB,GAChC,OAAO,GACP,kBAAkB,GAClB,QAAQ,GACR,UAAU,GACV,QAAQ,CAAC;AAEb,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,QAAQ,CAAC,IAAI,EAAE,iBAAiB,GAAG,kBAAkB,CAAC;IAEtD,YAAY,IAAI,EAAE,iBAAiB,GAAG,kBAAkB,EAAE,OAAO,EAAE,MAAM,EAIxE;CACF;AA6DD,qBAAa,mBAAmB;;IAG9B,IAAI,KAAK,IAAI,wBAAwB,CAEpC;IAED,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU,CAiB/B;IAED,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,CAsB/B;IAED,KAAK,IAAI,IAAI,CAEZ;CACF"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { decodeFrame, encodeFrame, Opcode, } from './codec.js';
|
|
2
|
+
export class UserProtocolSessionError extends Error {
|
|
3
|
+
kind;
|
|
4
|
+
constructor(kind, message) {
|
|
5
|
+
super(message);
|
|
6
|
+
this.name = 'UserProtocolSessionError';
|
|
7
|
+
this.kind = kind;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
const ACTIVE_OUTGOING = new Set([
|
|
11
|
+
Opcode.Reauth,
|
|
12
|
+
Opcode.StateResync,
|
|
13
|
+
Opcode.Subscribe,
|
|
14
|
+
Opcode.Unsubscribe,
|
|
15
|
+
Opcode.Event,
|
|
16
|
+
Opcode.Call,
|
|
17
|
+
Opcode.CallCancel,
|
|
18
|
+
Opcode.CallCredit,
|
|
19
|
+
Opcode.CallError,
|
|
20
|
+
]);
|
|
21
|
+
const ACTIVE_INCOMING = new Set([
|
|
22
|
+
Opcode.Error,
|
|
23
|
+
Opcode.Fatal,
|
|
24
|
+
Opcode.ReauthOk,
|
|
25
|
+
Opcode.HomeStatus,
|
|
26
|
+
Opcode.Goaway,
|
|
27
|
+
Opcode.StateDict,
|
|
28
|
+
Opcode.StateSnapshot,
|
|
29
|
+
Opcode.StatePatch,
|
|
30
|
+
Opcode.TopicDict,
|
|
31
|
+
Opcode.SubscribeOk,
|
|
32
|
+
Opcode.UnsubscribeOk,
|
|
33
|
+
Opcode.Event,
|
|
34
|
+
Opcode.FunctionDict,
|
|
35
|
+
Opcode.CallDispatch,
|
|
36
|
+
Opcode.CallAccepted,
|
|
37
|
+
Opcode.CallResult,
|
|
38
|
+
Opcode.CallError,
|
|
39
|
+
Opcode.CallCancel,
|
|
40
|
+
Opcode.CallCredit,
|
|
41
|
+
]);
|
|
42
|
+
const DRAINING_OUTGOING = new Set([
|
|
43
|
+
Opcode.CallResult,
|
|
44
|
+
Opcode.CallError,
|
|
45
|
+
]);
|
|
46
|
+
function wrongDirection(opcode, direction) {
|
|
47
|
+
throw new UserProtocolSessionError('wrong_direction', `Opcode 0x${opcode.toString(16).padStart(2, '0')} is not valid ${direction} user traffic`);
|
|
48
|
+
}
|
|
49
|
+
function unexpected(opcode, phase) {
|
|
50
|
+
throw new UserProtocolSessionError('unexpected_frame', `Opcode 0x${opcode.toString(16).padStart(2, '0')} is not valid during ${phase}`);
|
|
51
|
+
}
|
|
52
|
+
function validateEventArity(frame, direction) {
|
|
53
|
+
if (frame.opcode !== Opcode.Event)
|
|
54
|
+
return;
|
|
55
|
+
const expected = direction === 'outgoing' ? 5 : 6;
|
|
56
|
+
if (frame.payload.length !== expected)
|
|
57
|
+
wrongDirection(frame.opcode, direction);
|
|
58
|
+
}
|
|
59
|
+
export class UserProtocolSession {
|
|
60
|
+
#phase = 'fresh';
|
|
61
|
+
get phase() {
|
|
62
|
+
return this.#phase;
|
|
63
|
+
}
|
|
64
|
+
encode(frame) {
|
|
65
|
+
validateEventArity(frame, 'outgoing');
|
|
66
|
+
if (this.#phase === 'fresh') {
|
|
67
|
+
if (frame.opcode !== Opcode.Hello)
|
|
68
|
+
unexpected(frame.opcode, this.#phase);
|
|
69
|
+
const encoded = encodeFrame(frame);
|
|
70
|
+
this.#phase = 'awaiting_welcome';
|
|
71
|
+
return encoded;
|
|
72
|
+
}
|
|
73
|
+
if (this.#phase === 'active') {
|
|
74
|
+
if (!ACTIVE_OUTGOING.has(frame.opcode))
|
|
75
|
+
wrongDirection(frame.opcode, 'outgoing');
|
|
76
|
+
return encodeFrame(frame);
|
|
77
|
+
}
|
|
78
|
+
if (this.#phase === 'draining') {
|
|
79
|
+
if (!DRAINING_OUTGOING.has(frame.opcode))
|
|
80
|
+
unexpected(frame.opcode, this.#phase);
|
|
81
|
+
return encodeFrame(frame);
|
|
82
|
+
}
|
|
83
|
+
return unexpected(frame.opcode, this.#phase);
|
|
84
|
+
}
|
|
85
|
+
decode(bytes) {
|
|
86
|
+
const frame = decodeFrame(bytes);
|
|
87
|
+
validateEventArity(frame, 'incoming');
|
|
88
|
+
if (this.#phase === 'awaiting_welcome') {
|
|
89
|
+
if (frame.opcode === Opcode.Welcome) {
|
|
90
|
+
this.#phase = 'active';
|
|
91
|
+
return frame;
|
|
92
|
+
}
|
|
93
|
+
if (frame.opcode === Opcode.Fatal) {
|
|
94
|
+
this.#phase = 'closed';
|
|
95
|
+
return frame;
|
|
96
|
+
}
|
|
97
|
+
return unexpected(frame.opcode, this.#phase);
|
|
98
|
+
}
|
|
99
|
+
if (this.#phase === 'active' || this.#phase === 'draining') {
|
|
100
|
+
if (frame.opcode >= 0x80)
|
|
101
|
+
return frame;
|
|
102
|
+
if (!ACTIVE_INCOMING.has(frame.opcode))
|
|
103
|
+
wrongDirection(frame.opcode, 'incoming');
|
|
104
|
+
if (frame.opcode === Opcode.Goaway)
|
|
105
|
+
this.#phase = 'draining';
|
|
106
|
+
if (frame.opcode === Opcode.Fatal)
|
|
107
|
+
this.#phase = 'closed';
|
|
108
|
+
return frame;
|
|
109
|
+
}
|
|
110
|
+
return unexpected(frame.opcode, this.#phase);
|
|
111
|
+
}
|
|
112
|
+
close() {
|
|
113
|
+
this.#phase = 'closed';
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=user-session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-session.js","sourceRoot":"","sources":["../../src/protocol/user-session.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,28 +1,77 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "miakapi",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "
|
|
5
|
-
"
|
|
3
|
+
"version": "4.0.0-alpha.1",
|
|
4
|
+
"description": "Typed coordinator and trusted-browser SDK for Miakapp",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"packageManager": "bun@1.2.23",
|
|
7
|
+
"workspaces": [
|
|
8
|
+
"packages/*"
|
|
9
|
+
],
|
|
10
|
+
"engines": {
|
|
11
|
+
"bun": ">=1.2.23",
|
|
12
|
+
"node": ">=22.9"
|
|
13
|
+
},
|
|
14
|
+
"exports": {
|
|
15
|
+
".": {
|
|
16
|
+
"types": "./dist/index.d.ts",
|
|
17
|
+
"import": "./dist/index.js"
|
|
18
|
+
},
|
|
19
|
+
"./browser": {
|
|
20
|
+
"types": "./dist/browser.d.ts",
|
|
21
|
+
"import": "./dist/browser.js"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"files": [
|
|
25
|
+
"contracts",
|
|
26
|
+
"dist",
|
|
27
|
+
"LICENSE",
|
|
28
|
+
"README.md"
|
|
29
|
+
],
|
|
30
|
+
"sideEffects": false,
|
|
6
31
|
"scripts": {
|
|
7
|
-
"
|
|
32
|
+
"build": "tsc -p tsconfig.build.json",
|
|
33
|
+
"build:contract": "tsc -p tsconfig.contract.json",
|
|
34
|
+
"check": "bun run typecheck && bun run build && bun run test && bun run smoke:node && bun run smoke:browser && bun run test:contract && bun run pack:check",
|
|
35
|
+
"check:cli": "bun --filter @miakapp/cli check",
|
|
36
|
+
"check:component": "bun --filter @miakapp/component check",
|
|
37
|
+
"check:packages": "bun run check:cli && bun run check:component && bun run check:app && bun run check:template",
|
|
38
|
+
"check:template": "bun run build && bun --filter @miakapp/component build && bun --filter @miakapp/app build && bun --filter @miakapp/cli build && cd templates/home && rm -rf node_modules && bun install --frozen-lockfile && bun run check",
|
|
39
|
+
"pack:check": "npm pack --dry-run",
|
|
40
|
+
"prepublishOnly": "bun run check",
|
|
41
|
+
"smoke:browser": "node scripts/check-browser-bundle.mjs",
|
|
42
|
+
"smoke:node": "node test/node-smoke.mjs",
|
|
43
|
+
"test": "bun test test/*.test.ts examples/*.test.ts packages/*/test/*.test.ts",
|
|
44
|
+
"test:contract": "bun run build:contract && node scripts/check-contract.mjs",
|
|
45
|
+
"typecheck": "tsc --noEmit",
|
|
46
|
+
"check:app": "bun --filter @miakapp/app check"
|
|
8
47
|
},
|
|
9
48
|
"repository": {
|
|
10
49
|
"type": "git",
|
|
11
50
|
"url": "git+https://github.com/Miakapp/MiakAPI.git"
|
|
12
51
|
},
|
|
52
|
+
"publishConfig": {
|
|
53
|
+
"access": "public",
|
|
54
|
+
"tag": "next"
|
|
55
|
+
},
|
|
13
56
|
"keywords": [
|
|
14
57
|
"Miakapp",
|
|
15
58
|
"MiakAPI",
|
|
16
|
-
"
|
|
59
|
+
"smart-home",
|
|
60
|
+
"coordinator",
|
|
61
|
+
"browser",
|
|
62
|
+
"websocket"
|
|
17
63
|
],
|
|
18
64
|
"author": "Mathieu Colmon",
|
|
19
65
|
"license": "ISC",
|
|
20
66
|
"devDependencies": {
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
67
|
+
"@types/bun": "1.2.23",
|
|
68
|
+
"@types/node": "22.20.1",
|
|
69
|
+
"@types/ws": "8.18.1",
|
|
70
|
+
"playwright": "1.62.1",
|
|
71
|
+
"typescript": "7.0.2"
|
|
24
72
|
},
|
|
25
73
|
"dependencies": {
|
|
26
|
-
"
|
|
74
|
+
"@msgpack/msgpack": "3.1.3",
|
|
75
|
+
"ws": "8.21.3"
|
|
27
76
|
}
|
|
28
77
|
}
|
package/.eslintrc.js
DELETED
package/.gitattributes
DELETED