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
package/dist/api.d.ts
ADDED
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
export type ProtocolObject = {
|
|
2
|
+
[key: string]: ProtocolValue;
|
|
3
|
+
};
|
|
4
|
+
export type ProtocolValue = null | boolean | number | string | Uint8Array | ProtocolValue[] | ProtocolObject;
|
|
5
|
+
export type Unsubscribe = () => void;
|
|
6
|
+
export type CoordinatorStatus = 'idle' | 'connecting' | 'authenticating' | 'synchronizing' | 'ready' | 'reconnecting' | 'draining' | 'stopping' | 'stopped';
|
|
7
|
+
export type DispatchOutcome = 'not_dispatched' | 'sent' | 'accepted' | 'applied' | 'outcome_unknown';
|
|
8
|
+
export interface AccessTokenRequest {
|
|
9
|
+
coordinatorName: string;
|
|
10
|
+
reason: 'initial' | 'reauth' | 'reconnect';
|
|
11
|
+
relayHost?: string;
|
|
12
|
+
signal: AbortSignal;
|
|
13
|
+
}
|
|
14
|
+
export interface AccessToken {
|
|
15
|
+
relayUrl: string;
|
|
16
|
+
token: string;
|
|
17
|
+
expiresAtMs: number;
|
|
18
|
+
}
|
|
19
|
+
export interface AccessTokenProvider {
|
|
20
|
+
getAccessToken(request: AccessTokenRequest): Promise<AccessToken>;
|
|
21
|
+
}
|
|
22
|
+
export interface CoordinatorLogRecord {
|
|
23
|
+
level: 'debug' | 'info' | 'warn' | 'error';
|
|
24
|
+
event: string;
|
|
25
|
+
status?: CoordinatorStatus;
|
|
26
|
+
code?: number;
|
|
27
|
+
}
|
|
28
|
+
export interface CoordinatorLogger {
|
|
29
|
+
write(record: CoordinatorLogRecord): void;
|
|
30
|
+
}
|
|
31
|
+
export interface CoordinatorOptions {
|
|
32
|
+
name: string;
|
|
33
|
+
accessTokenProvider: AccessTokenProvider;
|
|
34
|
+
logger?: CoordinatorLogger;
|
|
35
|
+
}
|
|
36
|
+
export interface CoordinatorConfiguration {
|
|
37
|
+
state: Readonly<Record<string, ProtocolValue>>;
|
|
38
|
+
stateAccess: readonly UserStateAccess[];
|
|
39
|
+
events: readonly EventDeclaration[];
|
|
40
|
+
eventAccess: readonly UserEventAccess[];
|
|
41
|
+
functions: Readonly<Record<string, FunctionHandler>>;
|
|
42
|
+
}
|
|
43
|
+
export interface ReadySession {
|
|
44
|
+
sessionId: number;
|
|
45
|
+
generation: number;
|
|
46
|
+
connectedAtMs: number;
|
|
47
|
+
}
|
|
48
|
+
export interface CoordinatorFailure extends Error {
|
|
49
|
+
kind: 'protocol' | 'authentication' | 'authorization' | 'conflict' | 'invalid_lifecycle' | 'unavailable' | 'cancelled' | 'superseded' | 'internal';
|
|
50
|
+
code?: number;
|
|
51
|
+
retryable: boolean;
|
|
52
|
+
outcome: DispatchOutcome;
|
|
53
|
+
correlation?: {
|
|
54
|
+
kind: 'event' | 'call';
|
|
55
|
+
localId: string;
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
export declare class ApplicationCallError extends Error {
|
|
59
|
+
readonly code: number;
|
|
60
|
+
readonly retryable: boolean;
|
|
61
|
+
constructor(code: number, message?: string, retryable?: boolean);
|
|
62
|
+
}
|
|
63
|
+
export interface LifecycleEvent {
|
|
64
|
+
previous: CoordinatorStatus;
|
|
65
|
+
current: CoordinatorStatus;
|
|
66
|
+
session?: ReadySession;
|
|
67
|
+
reason?: CoordinatorFailure;
|
|
68
|
+
}
|
|
69
|
+
export interface StartOptions {
|
|
70
|
+
signal?: AbortSignal;
|
|
71
|
+
}
|
|
72
|
+
export interface StopOptions {
|
|
73
|
+
deadlineMs?: number;
|
|
74
|
+
}
|
|
75
|
+
export interface DeclarationOptions {
|
|
76
|
+
signal?: AbortSignal;
|
|
77
|
+
}
|
|
78
|
+
export interface OperationOptions {
|
|
79
|
+
signal?: AbortSignal;
|
|
80
|
+
}
|
|
81
|
+
export interface DeclarationReceipt {
|
|
82
|
+
sessionId: number;
|
|
83
|
+
generation: number;
|
|
84
|
+
}
|
|
85
|
+
export interface StateReceipt {
|
|
86
|
+
outcome: 'applied';
|
|
87
|
+
}
|
|
88
|
+
export type StateMutation = {
|
|
89
|
+
path: string;
|
|
90
|
+
value: ProtocolValue;
|
|
91
|
+
} | {
|
|
92
|
+
path: string;
|
|
93
|
+
delete: true;
|
|
94
|
+
};
|
|
95
|
+
export interface CoordinatorState {
|
|
96
|
+
declare(entries: Readonly<Record<string, ProtocolValue>>, options?: DeclarationOptions): Promise<DeclarationReceipt>;
|
|
97
|
+
set(mutations: readonly StateMutation[], options?: OperationOptions): Promise<StateReceipt>;
|
|
98
|
+
}
|
|
99
|
+
export interface UserStateAccess {
|
|
100
|
+
userId: string;
|
|
101
|
+
patterns: readonly string[];
|
|
102
|
+
}
|
|
103
|
+
export interface UserEventAccess {
|
|
104
|
+
userId: string;
|
|
105
|
+
publish: readonly string[];
|
|
106
|
+
subscribe: readonly string[];
|
|
107
|
+
}
|
|
108
|
+
export interface CoordinatorAccess {
|
|
109
|
+
declareState(entries: readonly UserStateAccess[], options?: DeclarationOptions): Promise<DeclarationReceipt>;
|
|
110
|
+
declareEvents(entries: readonly UserEventAccess[], options?: DeclarationOptions): Promise<DeclarationReceipt>;
|
|
111
|
+
}
|
|
112
|
+
export declare const EventDirection: Readonly<{
|
|
113
|
+
readonly acceptFromUsers: 1;
|
|
114
|
+
readonly publishToUsers: 2;
|
|
115
|
+
readonly acceptFromCoordinators: 4;
|
|
116
|
+
readonly publishToCoordinators: 8;
|
|
117
|
+
}>;
|
|
118
|
+
export interface EventDeclaration {
|
|
119
|
+
topic: string;
|
|
120
|
+
directions: number;
|
|
121
|
+
}
|
|
122
|
+
export type EventTarget = {
|
|
123
|
+
kind: 'default';
|
|
124
|
+
} | {
|
|
125
|
+
kind: 'user_session';
|
|
126
|
+
id: number;
|
|
127
|
+
} | {
|
|
128
|
+
kind: 'coordinator';
|
|
129
|
+
id: string;
|
|
130
|
+
};
|
|
131
|
+
export interface SentEvent {
|
|
132
|
+
outcome: 'sent';
|
|
133
|
+
}
|
|
134
|
+
export interface EventHandle {
|
|
135
|
+
readonly localId: string;
|
|
136
|
+
readonly sent: Promise<SentEvent>;
|
|
137
|
+
}
|
|
138
|
+
export interface IncomingEvent {
|
|
139
|
+
source: Principal;
|
|
140
|
+
topic: string;
|
|
141
|
+
value: ProtocolValue;
|
|
142
|
+
}
|
|
143
|
+
export interface CoordinatorEvents {
|
|
144
|
+
declare(entries: readonly EventDeclaration[], options?: DeclarationOptions): Promise<DeclarationReceipt>;
|
|
145
|
+
publish(topic: string, value: ProtocolValue, options?: OperationOptions & {
|
|
146
|
+
target?: EventTarget;
|
|
147
|
+
}): EventHandle;
|
|
148
|
+
subscribe(topic: string, listener: (event: IncomingEvent) => void): Unsubscribe;
|
|
149
|
+
}
|
|
150
|
+
export interface Principal {
|
|
151
|
+
kind: 'user' | 'coordinator' | 'cli';
|
|
152
|
+
id: string;
|
|
153
|
+
sessionId: number;
|
|
154
|
+
coordinatorName: string | null;
|
|
155
|
+
verifiedEmail: string | null;
|
|
156
|
+
}
|
|
157
|
+
export interface IncomingCall {
|
|
158
|
+
source: Principal;
|
|
159
|
+
arguments: ProtocolValue;
|
|
160
|
+
idempotencyKey: string | null;
|
|
161
|
+
signal: AbortSignal;
|
|
162
|
+
emit(value: ProtocolValue): Promise<void>;
|
|
163
|
+
}
|
|
164
|
+
export type FunctionHandler = (call: IncomingCall) => ProtocolValue | Promise<ProtocolValue>;
|
|
165
|
+
export interface CoordinatorFunctions {
|
|
166
|
+
declare(handlers: Readonly<Record<string, FunctionHandler>>, options?: DeclarationOptions): Promise<DeclarationReceipt>;
|
|
167
|
+
}
|
|
168
|
+
export type CallTarget = {
|
|
169
|
+
kind: 'default';
|
|
170
|
+
} | {
|
|
171
|
+
kind: 'user_session';
|
|
172
|
+
id: number;
|
|
173
|
+
} | {
|
|
174
|
+
kind: 'coordinator';
|
|
175
|
+
id: string;
|
|
176
|
+
};
|
|
177
|
+
export interface StartCallOptions {
|
|
178
|
+
function: string;
|
|
179
|
+
arguments: ProtocolValue;
|
|
180
|
+
timeoutMs: number;
|
|
181
|
+
target?: CallTarget;
|
|
182
|
+
idempotencyKey?: string;
|
|
183
|
+
signal?: AbortSignal;
|
|
184
|
+
}
|
|
185
|
+
export interface CallHandle {
|
|
186
|
+
readonly localId: string;
|
|
187
|
+
readonly accepted: Promise<void>;
|
|
188
|
+
readonly stream: AsyncIterable<ProtocolValue>;
|
|
189
|
+
readonly result: Promise<ProtocolValue>;
|
|
190
|
+
cancel(reason?: string): void;
|
|
191
|
+
}
|
|
192
|
+
export interface CoordinatorCalls {
|
|
193
|
+
start(options: StartCallOptions): CallHandle;
|
|
194
|
+
}
|
|
195
|
+
export interface PresenceEntry {
|
|
196
|
+
sessionId: number;
|
|
197
|
+
userId: string;
|
|
198
|
+
}
|
|
199
|
+
export interface CoordinatorPresence {
|
|
200
|
+
snapshot(): readonly PresenceEntry[];
|
|
201
|
+
subscribe(listener: (entries: readonly PresenceEntry[]) => void): Unsubscribe;
|
|
202
|
+
}
|
|
203
|
+
export interface CoordinatorErrors {
|
|
204
|
+
subscribe(listener: (failure: CoordinatorFailure) => void): Unsubscribe;
|
|
205
|
+
}
|
|
206
|
+
export interface Coordinator {
|
|
207
|
+
readonly status: CoordinatorStatus;
|
|
208
|
+
readonly state: CoordinatorState;
|
|
209
|
+
readonly access: CoordinatorAccess;
|
|
210
|
+
readonly events: CoordinatorEvents;
|
|
211
|
+
readonly functions: CoordinatorFunctions;
|
|
212
|
+
readonly calls: CoordinatorCalls;
|
|
213
|
+
readonly presence: CoordinatorPresence;
|
|
214
|
+
readonly errors: CoordinatorErrors;
|
|
215
|
+
configure(configuration: CoordinatorConfiguration): void;
|
|
216
|
+
start(options?: StartOptions): Promise<ReadySession>;
|
|
217
|
+
stop(options?: StopOptions): Promise<void>;
|
|
218
|
+
subscribe(listener: (event: LifecycleEvent) => void): Unsubscribe;
|
|
219
|
+
}
|
|
220
|
+
export type CoordinatorFactory = (options: CoordinatorOptions) => Coordinator;
|
|
221
|
+
export interface CoordinatorModule {
|
|
222
|
+
createCoordinator: CoordinatorFactory;
|
|
223
|
+
}
|
|
224
|
+
//# sourceMappingURL=api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
package/dist/api.js
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
const API_UTF8 = new TextEncoder();
|
|
2
|
+
const API_CONTROL_CHARACTER = /\p{Cc}/u;
|
|
3
|
+
function hasUnpairedSurrogate(value) {
|
|
4
|
+
for (let index = 0; index < value.length; index += 1) {
|
|
5
|
+
const unit = value.charCodeAt(index);
|
|
6
|
+
if (unit >= 0xd800 && unit <= 0xdbff) {
|
|
7
|
+
const following = value.charCodeAt(index + 1);
|
|
8
|
+
if (index + 1 >= value.length || following < 0xdc00 || following > 0xdfff)
|
|
9
|
+
return true;
|
|
10
|
+
index += 1;
|
|
11
|
+
}
|
|
12
|
+
else if (unit >= 0xdc00 && unit <= 0xdfff) {
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
export class ApplicationCallError extends Error {
|
|
19
|
+
code;
|
|
20
|
+
retryable;
|
|
21
|
+
constructor(code, message = 'Application call failed', retryable = false) {
|
|
22
|
+
if (!Number.isInteger(code) || code < 2_000 || code > 2_999) {
|
|
23
|
+
throw new RangeError('Application call error code must be between 2000 and 2999');
|
|
24
|
+
}
|
|
25
|
+
if (typeof message !== 'string'
|
|
26
|
+
|| message.length === 0
|
|
27
|
+
|| hasUnpairedSurrogate(message)
|
|
28
|
+
|| API_CONTROL_CHARACTER.test(message)
|
|
29
|
+
|| API_UTF8.encode(message).byteLength > 256) {
|
|
30
|
+
throw new TypeError('Application call error message must contain 1 to 256 safe UTF-8 bytes');
|
|
31
|
+
}
|
|
32
|
+
if (typeof retryable !== 'boolean') {
|
|
33
|
+
throw new TypeError('Application call error retryable flag must be a boolean');
|
|
34
|
+
}
|
|
35
|
+
super(message);
|
|
36
|
+
this.name = 'ApplicationCallError';
|
|
37
|
+
this.code = code;
|
|
38
|
+
this.retryable = retryable;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
export const EventDirection = Object.freeze({
|
|
42
|
+
acceptFromUsers: 0x01,
|
|
43
|
+
publishToUsers: 0x02,
|
|
44
|
+
acceptFromCoordinators: 0x04,
|
|
45
|
+
publishToCoordinators: 0x08,
|
|
46
|
+
});
|
|
47
|
+
//# sourceMappingURL=api.js.map
|
package/dist/api.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAEA,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC;AACnC,MAAM,qBAAqB,GAAG,SAAS,CAAC;AAExC,SAAS,oBAAoB,CAAC,KAAa;IACzC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;YACrC,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC9C,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS,GAAG,MAAM,IAAI,SAAS,GAAG,MAAM;gBAAE,OAAO,IAAI,CAAC;YACvF,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAmGD,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACpC,IAAI,CAAS;IACb,SAAS,CAAU;IAE5B,YAAY,IAAY,EAAE,OAAO,GAAG,yBAAyB,EAAE,SAAS,GAAG,KAAK;QAC9E,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;YAC5D,MAAM,IAAI,UAAU,CAAC,2DAA2D,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,OAAO,OAAO,KAAK,QAAQ;eAC1B,OAAO,CAAC,MAAM,KAAK,CAAC;eACpB,oBAAoB,CAAC,OAAO,CAAC;eAC7B,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC;eACnC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;YAC/C,MAAM,IAAI,SAAS,CAAC,uEAAuE,CAAC,CAAC;QAC/F,CAAC;QACD,IAAI,OAAO,SAAS,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,IAAI,SAAS,CAAC,yDAAyD,CAAC,CAAC;QACjF,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AAyED,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1C,eAAe,EAAE,IAAI;IACrB,cAAc,EAAE,IAAI;IACpB,sBAAsB,EAAE,IAAI;IAC5B,qBAAqB,EAAE,IAAI;CACnB,CAAC,CAAC"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import type { DispatchOutcome, ProtocolValue, StartOptions, StopOptions, Unsubscribe } from './api.js';
|
|
2
|
+
export type BrowserClientStatus = 'idle' | 'connecting' | 'authenticating' | 'synchronizing' | 'ready' | 'reconnecting' | 'draining' | 'stopping' | 'stopped';
|
|
3
|
+
export type BrowserRelayCredentialReason = 'initial' | 'reauth' | 'reconnect';
|
|
4
|
+
export interface BrowserRelayCredentialRequest {
|
|
5
|
+
readonly homeId: string;
|
|
6
|
+
readonly reason: BrowserRelayCredentialReason;
|
|
7
|
+
readonly signal: AbortSignal;
|
|
8
|
+
}
|
|
9
|
+
export interface BrowserRelayCredential {
|
|
10
|
+
readonly relayUrl: string;
|
|
11
|
+
readonly accessToken: string;
|
|
12
|
+
readonly expiresAtMs: number;
|
|
13
|
+
}
|
|
14
|
+
export interface BrowserRelayCredentialProvider {
|
|
15
|
+
getCredential(request: BrowserRelayCredentialRequest): Promise<BrowserRelayCredential>;
|
|
16
|
+
}
|
|
17
|
+
export interface ControlPlaneBrowserRelayCredentialProviderOptions {
|
|
18
|
+
readonly exchangeEndpoint: string;
|
|
19
|
+
readonly getFirebaseIdToken: (request: BrowserRelayCredentialRequest) => Promise<string>;
|
|
20
|
+
readonly getAppCheckToken: (request: BrowserRelayCredentialRequest) => Promise<string>;
|
|
21
|
+
readonly fetch?: typeof globalThis.fetch;
|
|
22
|
+
}
|
|
23
|
+
export interface BrowserClientLogRecord {
|
|
24
|
+
readonly level: 'debug' | 'info' | 'warn' | 'error';
|
|
25
|
+
readonly event: string;
|
|
26
|
+
readonly status?: BrowserClientStatus;
|
|
27
|
+
readonly code?: number;
|
|
28
|
+
}
|
|
29
|
+
export interface BrowserClientLogger {
|
|
30
|
+
write(record: BrowserClientLogRecord): void;
|
|
31
|
+
}
|
|
32
|
+
export interface BrowserClientOptions {
|
|
33
|
+
readonly homeId: string;
|
|
34
|
+
readonly credentialProvider: BrowserRelayCredentialProvider;
|
|
35
|
+
readonly logger?: BrowserClientLogger;
|
|
36
|
+
}
|
|
37
|
+
export interface BrowserCoordinatorStatus {
|
|
38
|
+
readonly name: string;
|
|
39
|
+
readonly generation: number;
|
|
40
|
+
readonly status: 'connected' | 'grace';
|
|
41
|
+
}
|
|
42
|
+
export interface BrowserReadySession {
|
|
43
|
+
readonly sessionId: number;
|
|
44
|
+
readonly connectedAtMs: number;
|
|
45
|
+
readonly enrolled: boolean;
|
|
46
|
+
readonly coordinators: readonly BrowserCoordinatorStatus[];
|
|
47
|
+
}
|
|
48
|
+
export interface BrowserHomeStatus {
|
|
49
|
+
readonly enrolled: boolean;
|
|
50
|
+
readonly coordinators: readonly BrowserCoordinatorStatus[];
|
|
51
|
+
readonly stale: boolean;
|
|
52
|
+
}
|
|
53
|
+
export interface BrowserHome {
|
|
54
|
+
snapshot(): BrowserHomeStatus | undefined;
|
|
55
|
+
subscribe(listener: (status: BrowserHomeStatus) => void): Unsubscribe;
|
|
56
|
+
}
|
|
57
|
+
export interface BrowserClientFailure extends Error {
|
|
58
|
+
readonly kind: 'protocol' | 'authentication' | 'authorization' | 'conflict' | 'invalid_lifecycle' | 'unavailable' | 'cancelled' | 'internal';
|
|
59
|
+
readonly code?: number;
|
|
60
|
+
readonly retryable: boolean;
|
|
61
|
+
readonly outcome: DispatchOutcome;
|
|
62
|
+
readonly correlation?: {
|
|
63
|
+
readonly kind: 'call';
|
|
64
|
+
readonly localId: string;
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
export interface BrowserLifecycleEvent {
|
|
68
|
+
readonly previous: BrowserClientStatus;
|
|
69
|
+
readonly current: BrowserClientStatus;
|
|
70
|
+
readonly session?: BrowserReadySession;
|
|
71
|
+
readonly reason?: BrowserClientFailure;
|
|
72
|
+
}
|
|
73
|
+
export interface BrowserStateSnapshot {
|
|
74
|
+
readonly epoch: Uint8Array;
|
|
75
|
+
readonly revision: number;
|
|
76
|
+
readonly values: Readonly<Record<string, ProtocolValue>>;
|
|
77
|
+
readonly stale: boolean;
|
|
78
|
+
}
|
|
79
|
+
export interface BrowserState {
|
|
80
|
+
snapshot(): BrowserStateSnapshot | undefined;
|
|
81
|
+
subscribe(listener: (snapshot: BrowserStateSnapshot) => void): Unsubscribe;
|
|
82
|
+
}
|
|
83
|
+
export interface BrowserCallOptions {
|
|
84
|
+
readonly function: string;
|
|
85
|
+
readonly arguments: ProtocolValue;
|
|
86
|
+
readonly timeoutMs: number;
|
|
87
|
+
readonly idempotencyKey?: string;
|
|
88
|
+
readonly signal?: AbortSignal;
|
|
89
|
+
}
|
|
90
|
+
export interface BrowserCallHandle {
|
|
91
|
+
readonly localId: string;
|
|
92
|
+
readonly accepted: Promise<void>;
|
|
93
|
+
readonly result: Promise<ProtocolValue>;
|
|
94
|
+
cancel(): void;
|
|
95
|
+
}
|
|
96
|
+
export interface BrowserCalls {
|
|
97
|
+
start(options: BrowserCallOptions): BrowserCallHandle;
|
|
98
|
+
}
|
|
99
|
+
export interface BrowserClientErrors {
|
|
100
|
+
subscribe(listener: (failure: BrowserClientFailure) => void): Unsubscribe;
|
|
101
|
+
}
|
|
102
|
+
export interface BrowserClient {
|
|
103
|
+
readonly status: BrowserClientStatus;
|
|
104
|
+
readonly home: BrowserHome;
|
|
105
|
+
readonly state: BrowserState;
|
|
106
|
+
readonly calls: BrowserCalls;
|
|
107
|
+
readonly errors: BrowserClientErrors;
|
|
108
|
+
start(options?: StartOptions): Promise<BrowserReadySession>;
|
|
109
|
+
stop(options?: StopOptions): Promise<void>;
|
|
110
|
+
subscribe(listener: (event: BrowserLifecycleEvent) => void): Unsubscribe;
|
|
111
|
+
}
|
|
112
|
+
export type BrowserClientFactory = (options: BrowserClientOptions) => BrowserClient;
|
|
113
|
+
//# sourceMappingURL=browser-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-api.d.ts","sourceRoot":"","sources":["../src/browser-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-api.js","sourceRoot":"","sources":["../src/browser-api.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-client.d.ts","sourceRoot":"","sources":["../src/browser-client.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,aAAa,EAGb,oBAAoB,EASrB,MAAM,kBAAkB,CAAC;AA+tB1B,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAEhF"}
|