@sogni-ai/expo-client 1.0.0-alpha.2
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/CHANGELOG.md +13 -0
- package/README.md +87 -0
- package/dist/cjs/Account/index.d.ts +39 -0
- package/dist/cjs/Account/index.d.ts.map +1 -0
- package/dist/cjs/Account/index.js +111 -0
- package/dist/cjs/Account/index.js.map +1 -0
- package/dist/cjs/Account/types.d.ts +25 -0
- package/dist/cjs/Account/types.d.ts.map +1 -0
- package/dist/cjs/Account/types.js +18 -0
- package/dist/cjs/Account/types.js.map +1 -0
- package/dist/cjs/ApiClient/WebSocketClient/events.d.ts +51 -0
- package/dist/cjs/ApiClient/WebSocketClient/events.d.ts.map +1 -0
- package/dist/cjs/ApiClient/WebSocketClient/events.js +3 -0
- package/dist/cjs/ApiClient/WebSocketClient/events.js.map +1 -0
- package/dist/cjs/ApiClient/WebSocketClient/index.d.ts +34 -0
- package/dist/cjs/ApiClient/WebSocketClient/index.d.ts.map +1 -0
- package/dist/cjs/ApiClient/WebSocketClient/index.js +183 -0
- package/dist/cjs/ApiClient/WebSocketClient/index.js.map +1 -0
- package/dist/cjs/ApiClient/WebSocketClient/normalize.d.ts +24 -0
- package/dist/cjs/ApiClient/WebSocketClient/normalize.d.ts.map +1 -0
- package/dist/cjs/ApiClient/WebSocketClient/normalize.js +87 -0
- package/dist/cjs/ApiClient/WebSocketClient/normalize.js.map +1 -0
- package/dist/cjs/ApiClient/WebSocketClient/types.d.ts +9 -0
- package/dist/cjs/ApiClient/WebSocketClient/types.d.ts.map +1 -0
- package/dist/cjs/ApiClient/WebSocketClient/types.js +3 -0
- package/dist/cjs/ApiClient/WebSocketClient/types.js.map +1 -0
- package/dist/cjs/ApiClient/WebSocketClient/wireTypes.d.ts +61 -0
- package/dist/cjs/ApiClient/WebSocketClient/wireTypes.d.ts.map +1 -0
- package/dist/cjs/ApiClient/WebSocketClient/wireTypes.js +11 -0
- package/dist/cjs/ApiClient/WebSocketClient/wireTypes.js.map +1 -0
- package/dist/cjs/ApiClient/index.d.ts +57 -0
- package/dist/cjs/ApiClient/index.d.ts.map +1 -0
- package/dist/cjs/ApiClient/index.js +75 -0
- package/dist/cjs/ApiClient/index.js.map +1 -0
- package/dist/cjs/index.d.ts +55 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +108 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/lib/AuthManager/ApiKeyAuthManager.d.ts +15 -0
- package/dist/cjs/lib/AuthManager/ApiKeyAuthManager.d.ts.map +1 -0
- package/dist/cjs/lib/AuthManager/ApiKeyAuthManager.js +47 -0
- package/dist/cjs/lib/AuthManager/ApiKeyAuthManager.js.map +1 -0
- package/dist/cjs/lib/AuthManager/AuthManagerBase.d.ts +23 -0
- package/dist/cjs/lib/AuthManager/AuthManagerBase.d.ts.map +1 -0
- package/dist/cjs/lib/AuthManager/AuthManagerBase.js +14 -0
- package/dist/cjs/lib/AuthManager/AuthManagerBase.js.map +1 -0
- package/dist/cjs/lib/AuthManager/AuthStorage.d.ts +11 -0
- package/dist/cjs/lib/AuthManager/AuthStorage.d.ts.map +1 -0
- package/dist/cjs/lib/AuthManager/AuthStorage.js +50 -0
- package/dist/cjs/lib/AuthManager/AuthStorage.js.map +1 -0
- package/dist/cjs/lib/AuthManager/TokenAuthManager.d.ts +35 -0
- package/dist/cjs/lib/AuthManager/TokenAuthManager.d.ts.map +1 -0
- package/dist/cjs/lib/AuthManager/TokenAuthManager.js +164 -0
- package/dist/cjs/lib/AuthManager/TokenAuthManager.js.map +1 -0
- package/dist/cjs/lib/AuthManager/index.d.ts +7 -0
- package/dist/cjs/lib/AuthManager/index.d.ts.map +1 -0
- package/dist/cjs/lib/AuthManager/index.js +13 -0
- package/dist/cjs/lib/AuthManager/index.js.map +1 -0
- package/dist/cjs/lib/Cache.d.ts +12 -0
- package/dist/cjs/lib/Cache.d.ts.map +1 -0
- package/dist/cjs/lib/Cache.js +36 -0
- package/dist/cjs/lib/Cache.js.map +1 -0
- package/dist/cjs/lib/DefaultLogger.d.ts +17 -0
- package/dist/cjs/lib/DefaultLogger.d.ts.map +1 -0
- package/dist/cjs/lib/DefaultLogger.js +36 -0
- package/dist/cjs/lib/DefaultLogger.js.map +1 -0
- package/dist/cjs/lib/RestClient.d.ts +18 -0
- package/dist/cjs/lib/RestClient.d.ts.map +1 -0
- package/dist/cjs/lib/RestClient.js +67 -0
- package/dist/cjs/lib/RestClient.js.map +1 -0
- package/dist/cjs/lib/TypedEventEmitter.d.ts +16 -0
- package/dist/cjs/lib/TypedEventEmitter.d.ts.map +1 -0
- package/dist/cjs/lib/TypedEventEmitter.js +46 -0
- package/dist/cjs/lib/TypedEventEmitter.js.map +1 -0
- package/dist/cjs/lib/base64.d.ts +3 -0
- package/dist/cjs/lib/base64.d.ts.map +1 -0
- package/dist/cjs/lib/base64.js +21 -0
- package/dist/cjs/lib/base64.js.map +1 -0
- package/dist/cjs/lib/getUUID.d.ts +12 -0
- package/dist/cjs/lib/getUUID.d.ts.map +1 -0
- package/dist/cjs/lib/getUUID.js +29 -0
- package/dist/cjs/lib/getUUID.js.map +1 -0
- package/dist/cjs/lib/utils.d.ts +10 -0
- package/dist/cjs/lib/utils.d.ts.map +1 -0
- package/dist/cjs/lib/utils.js +24 -0
- package/dist/cjs/lib/utils.js.map +1 -0
- package/dist/cjs/types/ErrorData.d.ts +7 -0
- package/dist/cjs/types/ErrorData.d.ts.map +1 -0
- package/dist/cjs/types/ErrorData.js +3 -0
- package/dist/cjs/types/ErrorData.js.map +1 -0
- package/dist/cjs/types/json.d.ts +6 -0
- package/dist/cjs/types/json.d.ts.map +1 -0
- package/dist/cjs/types/json.js +3 -0
- package/dist/cjs/types/json.js.map +1 -0
- package/dist/cjs/types/token.d.ts +2 -0
- package/dist/cjs/types/token.d.ts.map +1 -0
- package/dist/cjs/types/token.js +3 -0
- package/dist/cjs/types/token.js.map +1 -0
- package/dist/cjs/version.d.ts +2 -0
- package/dist/cjs/version.d.ts.map +1 -0
- package/dist/cjs/version.js +5 -0
- package/dist/cjs/version.js.map +1 -0
- package/dist/cjs/wallet.d.ts +6 -0
- package/dist/cjs/wallet.d.ts.map +1 -0
- package/dist/cjs/wallet.js +6 -0
- package/dist/cjs/wallet.js.map +1 -0
- package/dist/esm/Account/index.js +106 -0
- package/dist/esm/Account/index.js.map +1 -0
- package/dist/esm/Account/types.js +15 -0
- package/dist/esm/Account/types.js.map +1 -0
- package/dist/esm/ApiClient/WebSocketClient/events.js +2 -0
- package/dist/esm/ApiClient/WebSocketClient/events.js.map +1 -0
- package/dist/esm/ApiClient/WebSocketClient/index.js +178 -0
- package/dist/esm/ApiClient/WebSocketClient/index.js.map +1 -0
- package/dist/esm/ApiClient/WebSocketClient/normalize.js +81 -0
- package/dist/esm/ApiClient/WebSocketClient/normalize.js.map +1 -0
- package/dist/esm/ApiClient/WebSocketClient/types.js +2 -0
- package/dist/esm/ApiClient/WebSocketClient/types.js.map +1 -0
- package/dist/esm/ApiClient/WebSocketClient/wireTypes.js +10 -0
- package/dist/esm/ApiClient/WebSocketClient/wireTypes.js.map +1 -0
- package/dist/esm/ApiClient/index.js +68 -0
- package/dist/esm/ApiClient/index.js.map +1 -0
- package/dist/esm/index.js +66 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/lib/AuthManager/ApiKeyAuthManager.js +42 -0
- package/dist/esm/lib/AuthManager/ApiKeyAuthManager.js.map +1 -0
- package/dist/esm/lib/AuthManager/AuthManagerBase.js +9 -0
- package/dist/esm/lib/AuthManager/AuthManagerBase.js.map +1 -0
- package/dist/esm/lib/AuthManager/AuthStorage.js +13 -0
- package/dist/esm/lib/AuthManager/AuthStorage.js.map +1 -0
- package/dist/esm/lib/AuthManager/TokenAuthManager.js +159 -0
- package/dist/esm/lib/AuthManager/TokenAuthManager.js.map +1 -0
- package/dist/esm/lib/AuthManager/index.js +5 -0
- package/dist/esm/lib/AuthManager/index.js.map +1 -0
- package/dist/esm/lib/Cache.js +33 -0
- package/dist/esm/lib/Cache.js.map +1 -0
- package/dist/esm/lib/DefaultLogger.js +32 -0
- package/dist/esm/lib/DefaultLogger.js.map +1 -0
- package/dist/esm/lib/RestClient.js +62 -0
- package/dist/esm/lib/RestClient.js.map +1 -0
- package/dist/esm/lib/TypedEventEmitter.js +44 -0
- package/dist/esm/lib/TypedEventEmitter.js.map +1 -0
- package/dist/esm/lib/base64.js +17 -0
- package/dist/esm/lib/base64.js.map +1 -0
- package/dist/esm/lib/getUUID.js +26 -0
- package/dist/esm/lib/getUUID.js.map +1 -0
- package/dist/esm/lib/utils.js +19 -0
- package/dist/esm/lib/utils.js.map +1 -0
- package/dist/esm/types/ErrorData.js +2 -0
- package/dist/esm/types/ErrorData.js.map +1 -0
- package/dist/esm/types/json.js +2 -0
- package/dist/esm/types/json.js.map +1 -0
- package/dist/esm/types/token.js +2 -0
- package/dist/esm/types/token.js.map +1 -0
- package/dist/esm/version.js +2 -0
- package/dist/esm/version.js.map +1 -0
- package/dist/esm/wallet.js +2 -0
- package/dist/esm/wallet.js.map +1 -0
- package/package.json +91 -0
- package/src/Account/index.ts +118 -0
- package/src/Account/types.ts +41 -0
- package/src/ApiClient/WebSocketClient/events.ts +60 -0
- package/src/ApiClient/WebSocketClient/index.ts +224 -0
- package/src/ApiClient/WebSocketClient/normalize.ts +104 -0
- package/src/ApiClient/WebSocketClient/types.ts +10 -0
- package/src/ApiClient/WebSocketClient/wireTypes.ts +63 -0
- package/src/ApiClient/index.ts +134 -0
- package/src/index.ts +141 -0
- package/src/lib/AuthManager/ApiKeyAuthManager.ts +52 -0
- package/src/lib/AuthManager/AuthManagerBase.ts +35 -0
- package/src/lib/AuthManager/AuthStorage.ts +21 -0
- package/src/lib/AuthManager/TokenAuthManager.ts +179 -0
- package/src/lib/AuthManager/index.ts +8 -0
- package/src/lib/Cache.ts +45 -0
- package/src/lib/DefaultLogger.ts +47 -0
- package/src/lib/RestClient.ts +77 -0
- package/src/lib/TypedEventEmitter.ts +52 -0
- package/src/lib/base64.ts +17 -0
- package/src/lib/getUUID.ts +27 -0
- package/src/lib/utils.ts +21 -0
- package/src/types/ErrorData.ts +7 -0
- package/src/types/json.ts +5 -0
- package/src/types/token.ts +1 -0
- package/src/version.ts +1 -0
- package/src/wallet.ts +6 -0
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* The ONLY place where wire-level message shapes are translated into clean
|
|
4
|
+
* public types. Every quirk in the sogni-socket protocol gets masked here so
|
|
5
|
+
* the rest of the SDK and downstream apps never see them.
|
|
6
|
+
*
|
|
7
|
+
* Authoritative wire source:
|
|
8
|
+
* ../sogni-socket/controllers/jobsController.js
|
|
9
|
+
* ../sogni-socket/controllers/websocketsController.js
|
|
10
|
+
*
|
|
11
|
+
* Known quirks masked (catalog grows as later phases add events):
|
|
12
|
+
* - `jobID` on the wire is actually the PROJECT id (Phase 3)
|
|
13
|
+
* - `imgID` on the wire is actually the JOB id (Phase 3)
|
|
14
|
+
* - `error_message` is snake_case in an otherwise camelCase API (Phase 3)
|
|
15
|
+
* - `balanceUpdate` arrives in two shapes (v1 flat, v2 nested) — always
|
|
16
|
+
* normalized to v2 here.
|
|
17
|
+
* - `authenticated.tokens` similarly v1/v2 — normalized to v2.
|
|
18
|
+
*/
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.normalizeAuthenticated = normalizeAuthenticated;
|
|
21
|
+
exports.normalizeBalanceUpdate = normalizeBalanceUpdate;
|
|
22
|
+
exports.normalizeChangeNetwork = normalizeChangeNetwork;
|
|
23
|
+
exports.normalizeToastMessage = normalizeToastMessage;
|
|
24
|
+
function isV2Tokens(t) {
|
|
25
|
+
return (typeof t === 'object' && t !== null && 'sogni' in t && 'spark' in t);
|
|
26
|
+
}
|
|
27
|
+
function normalizeBalanceTokens(raw) {
|
|
28
|
+
if (isV2Tokens(raw)) {
|
|
29
|
+
return {
|
|
30
|
+
sogni: {
|
|
31
|
+
settled: String(raw.sogni.settled ?? '0'),
|
|
32
|
+
credit: String(raw.sogni.credit ?? '0'),
|
|
33
|
+
debit: String(raw.sogni.debit ?? '0'),
|
|
34
|
+
net: String(raw.sogni.net ?? '0')
|
|
35
|
+
},
|
|
36
|
+
spark: {
|
|
37
|
+
settled: String(raw.spark.settled ?? '0'),
|
|
38
|
+
credit: String(raw.spark.credit ?? '0'),
|
|
39
|
+
debit: String(raw.spark.debit ?? '0'),
|
|
40
|
+
net: String(raw.spark.net ?? '0'),
|
|
41
|
+
premiumCredit: String(raw.spark.premiumCredit ?? '0')
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
// v1 → synthesize v2 wrapper with empty spark
|
|
46
|
+
const v1 = raw;
|
|
47
|
+
return {
|
|
48
|
+
sogni: {
|
|
49
|
+
settled: String(v1.settled ?? '0'),
|
|
50
|
+
credit: String(v1.credit ?? '0'),
|
|
51
|
+
debit: String(v1.debit ?? '0'),
|
|
52
|
+
net: String(v1.net ?? '0')
|
|
53
|
+
},
|
|
54
|
+
spark: {
|
|
55
|
+
settled: '0',
|
|
56
|
+
credit: '0',
|
|
57
|
+
debit: '0',
|
|
58
|
+
net: '0',
|
|
59
|
+
premiumCredit: '0'
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
function normalizeAuthenticated(raw) {
|
|
64
|
+
return {
|
|
65
|
+
username: raw.username,
|
|
66
|
+
walletAddress: raw.address,
|
|
67
|
+
balance: normalizeBalanceTokens(raw.tokens),
|
|
68
|
+
isMainnet: !!raw.isMainnet,
|
|
69
|
+
accountWasMigrated: !!raw.accountWasMigrated,
|
|
70
|
+
hasUnclaimedAirdrop: !!raw.hasUnclaimedAirdrop,
|
|
71
|
+
firstLoginAfterMigration: !!raw.firstLoginAfterMigration
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
function normalizeBalanceUpdate(raw) {
|
|
75
|
+
return { balance: normalizeBalanceTokens(raw) };
|
|
76
|
+
}
|
|
77
|
+
function normalizeChangeNetwork(raw) {
|
|
78
|
+
return { network: raw.network };
|
|
79
|
+
}
|
|
80
|
+
function normalizeToastMessage(raw) {
|
|
81
|
+
return {
|
|
82
|
+
level: raw.type,
|
|
83
|
+
message: raw.message,
|
|
84
|
+
...(raw.stickyID ? { stickyID: raw.stickyID } : {})
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=normalize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../../../src/ApiClient/WebSocketClient/normalize.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type SupernetType = 'fast' | 'relaxed';
|
|
2
|
+
export type ConnectionStatus = 'disconnected' | 'connecting' | 'connected';
|
|
3
|
+
export interface SocketAuthData {
|
|
4
|
+
/** Headers sent in the WebSocket upgrade request. */
|
|
5
|
+
headers?: Record<string, string>;
|
|
6
|
+
/** Query string parameters appended to the WebSocket URL. */
|
|
7
|
+
queryParams?: Record<string, string>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/ApiClient/WebSocketClient/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,CAAC;AAE9C,MAAM,MAAM,gBAAgB,GAAG,cAAc,GAAG,YAAY,GAAG,WAAW,CAAC;AAE3E,MAAM,WAAW,cAAc;IAC7B,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/ApiClient/WebSocketClient/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wire-level message shapes as the sogni-socket server sends them.
|
|
3
|
+
* These are NOT exposed to consumers. They are translated into clean public
|
|
4
|
+
* types by `normalize.ts`.
|
|
5
|
+
*
|
|
6
|
+
* Authoritative source: ../sogni-socket/controllers/jobsController.js and
|
|
7
|
+
* ../sogni-socket/controllers/websocketsController.js.
|
|
8
|
+
*/
|
|
9
|
+
/** Envelope wrapping all socket messages in both directions. */
|
|
10
|
+
export interface RawSocketEnvelope {
|
|
11
|
+
type: string;
|
|
12
|
+
/** base64-encoded JSON.stringify(payload) */
|
|
13
|
+
data: string;
|
|
14
|
+
}
|
|
15
|
+
/** `authenticated` event — sent right after the server upgrades a connection. */
|
|
16
|
+
export interface RawAuthenticated {
|
|
17
|
+
id: string;
|
|
18
|
+
clientType: string;
|
|
19
|
+
username: string;
|
|
20
|
+
address: string;
|
|
21
|
+
SID: number;
|
|
22
|
+
clientSID: number;
|
|
23
|
+
addressSID: number;
|
|
24
|
+
balanceVersion?: 1 | 2;
|
|
25
|
+
/** v1: BigNumber/string; v2: { sogni, spark } */
|
|
26
|
+
tokens: RawBalanceV1Tokens | RawBalanceV2Tokens;
|
|
27
|
+
activeProjects: string[];
|
|
28
|
+
unclaimedCompletedProjects: string[];
|
|
29
|
+
isMainnet: boolean;
|
|
30
|
+
accountWasMigrated: boolean;
|
|
31
|
+
hasUnclaimedAirdrop: boolean;
|
|
32
|
+
firstLoginAfterMigration: boolean;
|
|
33
|
+
}
|
|
34
|
+
export interface RawBalanceV1Tokens {
|
|
35
|
+
settled: string;
|
|
36
|
+
credit: string;
|
|
37
|
+
debit: string;
|
|
38
|
+
net: string;
|
|
39
|
+
}
|
|
40
|
+
export interface RawBalanceV2Tokens {
|
|
41
|
+
sogni: RawBalanceV1Tokens & {
|
|
42
|
+
premiumCredit?: string;
|
|
43
|
+
};
|
|
44
|
+
spark: RawBalanceV1Tokens & {
|
|
45
|
+
premiumCredit?: string;
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
/** `balanceUpdate` event — fired when the user's balance changes. */
|
|
49
|
+
export type RawBalanceUpdate = RawBalanceV1Tokens | RawBalanceV2Tokens;
|
|
50
|
+
/** `changeNetwork` event — confirms a network switch. */
|
|
51
|
+
export interface RawChangeNetwork {
|
|
52
|
+
network: 'fast' | 'relaxed';
|
|
53
|
+
}
|
|
54
|
+
/** `toastMessage` event — server-initiated UI message. */
|
|
55
|
+
export interface RawToastMessage {
|
|
56
|
+
type: 'info' | 'success' | 'warning' | 'error';
|
|
57
|
+
message: string;
|
|
58
|
+
autoClose?: number;
|
|
59
|
+
stickyID?: string;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=wireTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wireTypes.d.ts","sourceRoot":"","sources":["../../../../src/ApiClient/WebSocketClient/wireTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,gEAAgE;AAChE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;CACd;AAED,iFAAiF;AACjF,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACvB,iDAAiD;IACjD,MAAM,EAAE,kBAAkB,GAAG,kBAAkB,CAAC;IAChD,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,0BAA0B,EAAE,MAAM,EAAE,CAAC;IACrC,SAAS,EAAE,OAAO,CAAC;IACnB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,wBAAwB,EAAE,OAAO,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,kBAAkB,GAAG;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,KAAK,EAAE,kBAAkB,GAAG;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACxD;AAED,qEAAqE;AACrE,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;AAEvE,yDAAyD;AACzD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED,0DAA0D;AAC1D,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Wire-level message shapes as the sogni-socket server sends them.
|
|
4
|
+
* These are NOT exposed to consumers. They are translated into clean public
|
|
5
|
+
* types by `normalize.ts`.
|
|
6
|
+
*
|
|
7
|
+
* Authoritative source: ../sogni-socket/controllers/jobsController.js and
|
|
8
|
+
* ../sogni-socket/controllers/websocketsController.js.
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
//# sourceMappingURL=wireTypes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wireTypes.js","sourceRoot":"","sources":["../../../../src/ApiClient/WebSocketClient/wireTypes.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import RestClient from '../lib/RestClient';
|
|
2
|
+
import TypedEventEmitter from '../lib/TypedEventEmitter';
|
|
3
|
+
import { JSONValue } from '../types/json';
|
|
4
|
+
import { Logger } from '../lib/DefaultLogger';
|
|
5
|
+
import { AuthManager, AuthStorage } from '../lib/AuthManager';
|
|
6
|
+
import WebSocketClient from './WebSocketClient';
|
|
7
|
+
import { SupernetType } from './WebSocketClient/types';
|
|
8
|
+
import { ConnectedEvent, DisconnectedEvent } from './WebSocketClient/events';
|
|
9
|
+
export interface ApiResponse<D = JSONValue> {
|
|
10
|
+
status: 'success';
|
|
11
|
+
data: D;
|
|
12
|
+
}
|
|
13
|
+
export interface ApiErrorResponse {
|
|
14
|
+
status: 'error';
|
|
15
|
+
message: string;
|
|
16
|
+
errorCode: number;
|
|
17
|
+
}
|
|
18
|
+
export declare class ApiError extends Error {
|
|
19
|
+
status: number;
|
|
20
|
+
payload: ApiErrorResponse;
|
|
21
|
+
constructor(status: number, payload: ApiErrorResponse);
|
|
22
|
+
}
|
|
23
|
+
interface ApiClientEvents {
|
|
24
|
+
authUpdated: boolean;
|
|
25
|
+
connected: ConnectedEvent;
|
|
26
|
+
disconnected: DisconnectedEvent;
|
|
27
|
+
}
|
|
28
|
+
export interface ApiClientOptions {
|
|
29
|
+
baseUrl: string;
|
|
30
|
+
socketUrl: string;
|
|
31
|
+
appId: string;
|
|
32
|
+
appSource?: string;
|
|
33
|
+
networkType: SupernetType;
|
|
34
|
+
logger: Logger;
|
|
35
|
+
authType: 'token' | 'apiKey';
|
|
36
|
+
authStorage?: AuthStorage;
|
|
37
|
+
disableSocket?: boolean;
|
|
38
|
+
}
|
|
39
|
+
declare class ApiClient extends TypedEventEmitter<ApiClientEvents> {
|
|
40
|
+
readonly appId: string;
|
|
41
|
+
readonly appSource?: string;
|
|
42
|
+
readonly logger: Logger;
|
|
43
|
+
private _rest;
|
|
44
|
+
private _auth;
|
|
45
|
+
private _socket;
|
|
46
|
+
private _disableSocket;
|
|
47
|
+
constructor({ baseUrl, socketUrl, appId, appSource, networkType, authType, logger, authStorage, disableSocket }: ApiClientOptions);
|
|
48
|
+
get isAuthenticated(): boolean;
|
|
49
|
+
get auth(): AuthManager;
|
|
50
|
+
get rest(): RestClient;
|
|
51
|
+
get socket(): WebSocketClient;
|
|
52
|
+
get socketEnabled(): boolean;
|
|
53
|
+
private _handleAuthUpdated;
|
|
54
|
+
dispose(): void;
|
|
55
|
+
}
|
|
56
|
+
export default ApiClient;
|
|
57
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ApiClient/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAC3C,OAAO,iBAAiB,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAqB,WAAW,EAAE,WAAW,EAAoB,MAAM,oBAAoB,CAAC;AACnG,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7E,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,SAAS;IACxC,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,CAAC,CAAC;CACT;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,QAAS,SAAQ,KAAK;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,gBAAgB,CAAC;gBACd,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB;CAKtD;AAED,UAAU,eAAe;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,cAAc,CAAC;IAC1B,YAAY,EAAE,iBAAiB,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,YAAY,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC7B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,cAAM,SAAU,SAAQ,iBAAiB,CAAC,eAAe,CAAC;IACxD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,cAAc,CAAU;gBAEpB,EACV,OAAO,EACP,SAAS,EACT,KAAK,EACL,SAAS,EACT,WAAW,EACX,QAAQ,EACR,MAAM,EACN,WAAW,EACX,aAAqB,EACtB,EAAE,gBAAgB;IA4BnB,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED,IAAI,IAAI,IAAI,WAAW,CAEtB;IAED,IAAI,IAAI,IAAI,UAAU,CAErB;IAED,IAAI,MAAM,IAAI,eAAe,CAE5B;IAED,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED,OAAO,CAAC,kBAAkB;IAS1B,OAAO;CAOR;AAED,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ApiError = void 0;
|
|
7
|
+
const RestClient_1 = __importDefault(require("../lib/RestClient"));
|
|
8
|
+
const TypedEventEmitter_1 = __importDefault(require("../lib/TypedEventEmitter"));
|
|
9
|
+
const AuthManager_1 = require("../lib/AuthManager");
|
|
10
|
+
const WebSocketClient_1 = __importDefault(require("./WebSocketClient"));
|
|
11
|
+
class ApiError extends Error {
|
|
12
|
+
constructor(status, payload) {
|
|
13
|
+
super(payload.message);
|
|
14
|
+
this.status = status;
|
|
15
|
+
this.payload = payload;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.ApiError = ApiError;
|
|
19
|
+
class ApiClient extends TypedEventEmitter_1.default {
|
|
20
|
+
constructor({ baseUrl, socketUrl, appId, appSource, networkType, authType, logger, authStorage, disableSocket = false }) {
|
|
21
|
+
super();
|
|
22
|
+
this.appId = appId;
|
|
23
|
+
this.appSource = appSource?.trim() || undefined;
|
|
24
|
+
this.logger = logger;
|
|
25
|
+
this._disableSocket = disableSocket;
|
|
26
|
+
if (authType === 'apiKey') {
|
|
27
|
+
this._auth = new AuthManager_1.ApiKeyAuthManager(logger);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
this._auth = new AuthManager_1.TokenAuthManager(baseUrl, logger, authStorage);
|
|
31
|
+
}
|
|
32
|
+
this._rest = new RestClient_1.default(baseUrl, this._auth, logger);
|
|
33
|
+
this._socket = new WebSocketClient_1.default(socketUrl, this._auth, appId, networkType, logger, this.appSource);
|
|
34
|
+
this._auth.on('updated', (isAuthenticated) => {
|
|
35
|
+
this.emit('authUpdated', isAuthenticated);
|
|
36
|
+
this._handleAuthUpdated(isAuthenticated);
|
|
37
|
+
});
|
|
38
|
+
this._socket.on('connected', (e) => this.emit('connected', e));
|
|
39
|
+
this._socket.on('disconnected', (e) => this.emit('disconnected', e));
|
|
40
|
+
}
|
|
41
|
+
get isAuthenticated() {
|
|
42
|
+
return this._auth.isAuthenticated;
|
|
43
|
+
}
|
|
44
|
+
get auth() {
|
|
45
|
+
return this._auth;
|
|
46
|
+
}
|
|
47
|
+
get rest() {
|
|
48
|
+
return this._rest;
|
|
49
|
+
}
|
|
50
|
+
get socket() {
|
|
51
|
+
return this._socket;
|
|
52
|
+
}
|
|
53
|
+
get socketEnabled() {
|
|
54
|
+
return !this._disableSocket;
|
|
55
|
+
}
|
|
56
|
+
_handleAuthUpdated(isAuthenticated) {
|
|
57
|
+
if (this._disableSocket)
|
|
58
|
+
return;
|
|
59
|
+
if (isAuthenticated && !this._socket.isConnected) {
|
|
60
|
+
void this._socket.connect();
|
|
61
|
+
}
|
|
62
|
+
else if (!isAuthenticated && this._socket.isConnected) {
|
|
63
|
+
this._socket.disconnect();
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
dispose() {
|
|
67
|
+
this._socket.disconnect();
|
|
68
|
+
this._socket.removeAllListeners();
|
|
69
|
+
this._auth.removeAllListeners();
|
|
70
|
+
this.removeAllListeners();
|
|
71
|
+
this._auth.clear();
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
exports.default = ApiClient;
|
|
75
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ApiClient/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import AccountApi from './Account';
|
|
2
|
+
import { AccountSnapshot, Balances, MeData } from './Account/types';
|
|
3
|
+
import ApiClient, { ApiError, ApiErrorResponse, ApiResponse } from './ApiClient';
|
|
4
|
+
import { SupernetType } from './ApiClient/WebSocketClient/types';
|
|
5
|
+
import { AuthenticatedEvent, BalanceUpdateEvent, ChangeNetworkEvent, ConnectedEvent, DisconnectedEvent, ToastMessageEvent } from './ApiClient/WebSocketClient/events';
|
|
6
|
+
import { Logger, LogLevel } from './lib/DefaultLogger';
|
|
7
|
+
import { ApiKeyAuthManager, AuthStorage, TokenAuthData } from './lib/AuthManager';
|
|
8
|
+
import ErrorData from './types/ErrorData';
|
|
9
|
+
import { TokenType } from './types/token';
|
|
10
|
+
import { LIB_VERSION } from './version';
|
|
11
|
+
export type { AccountSnapshot, ApiErrorResponse, ApiResponse, AuthenticatedEvent, AuthStorage, Balances, BalanceUpdateEvent, ChangeNetworkEvent, ConnectedEvent, DisconnectedEvent, ErrorData, Logger, LogLevel, MeData, SupernetType, ToastMessageEvent, TokenAuthData, TokenType };
|
|
12
|
+
export { ApiError, ApiKeyAuthManager, LIB_VERSION };
|
|
13
|
+
export interface SogniClientConfig {
|
|
14
|
+
/** Unique application ID. Multiple connections with the same ID will be rejected by the server. */
|
|
15
|
+
appId: string;
|
|
16
|
+
/** Optional source label for server-side attribution. */
|
|
17
|
+
appSource?: string;
|
|
18
|
+
/** Override the default REST API endpoint. Internal use. */
|
|
19
|
+
restEndpoint?: string;
|
|
20
|
+
/** Override the default WebSocket endpoint. Internal use. */
|
|
21
|
+
socketEndpoint?: string;
|
|
22
|
+
/** Which Supernet to connect to. Defaults to 'fast'. */
|
|
23
|
+
network?: SupernetType;
|
|
24
|
+
/** Connect to testnet instead of mainnet. */
|
|
25
|
+
testnet?: boolean;
|
|
26
|
+
/** API key for authentication. When provided, the client uses API key auth. */
|
|
27
|
+
apiKey?: string;
|
|
28
|
+
/** Authentication type. Defaults to 'token'. Forced to 'apiKey' when apiKey is provided. */
|
|
29
|
+
authType?: 'token' | 'apiKey';
|
|
30
|
+
/** Logger instance. Defaults to a console-backed logger at logLevel. */
|
|
31
|
+
logger?: Logger;
|
|
32
|
+
/** Log level for the default logger. Ignored if a custom logger is provided. */
|
|
33
|
+
logLevel?: LogLevel;
|
|
34
|
+
/** Custom storage adapter for token persistence. Defaults to expo-secure-store. */
|
|
35
|
+
authStorage?: AuthStorage;
|
|
36
|
+
/** Disable the WebSocket connection. Most APIs will not work without it. */
|
|
37
|
+
disableSocket?: boolean;
|
|
38
|
+
}
|
|
39
|
+
export declare class SogniClient {
|
|
40
|
+
apiClient: ApiClient;
|
|
41
|
+
account: AccountApi;
|
|
42
|
+
private constructor();
|
|
43
|
+
get isAuthenticated(): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* For token-based auth, restore a session from refresh+access tokens.
|
|
46
|
+
* Typically called once at app startup; the SDK also auto-restores from
|
|
47
|
+
* secure storage in `create()`, so this is only needed when migrating
|
|
48
|
+
* tokens from another source.
|
|
49
|
+
*/
|
|
50
|
+
setTokens(tokens: TokenAuthData): Promise<void>;
|
|
51
|
+
/** Disconnect and tear down resources. Instance should not be reused after dispose(). */
|
|
52
|
+
dispose(): void;
|
|
53
|
+
static create(config: SogniClientConfig): Promise<SogniClient>;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,SAAS,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAiB,MAAM,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAoB,MAAM,mBAAmB,CAAC;AACpG,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,SAAS,EACT,MAAM,EACN,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,SAAS,EACV,CAAC;AACF,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,CAAC;AAEpD,MAAM,WAAW,iBAAiB;IAChC,mGAAmG;IACnG,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wDAAwD;IACxD,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC9B,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,mFAAmF;IACnF,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,4EAA4E;IAC5E,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAaD,qBAAa,WAAW;IACtB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,UAAU,CAAC;IAEpB,OAAO;IAKP,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED;;;;;OAKG;IACG,SAAS,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAQrD,yFAAyF;IACzF,OAAO;WAIM,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC;CA8BrE"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.SogniClient = exports.LIB_VERSION = exports.ApiKeyAuthManager = exports.ApiError = void 0;
|
|
40
|
+
const Account_1 = __importDefault(require("./Account"));
|
|
41
|
+
const ApiClient_1 = __importStar(require("./ApiClient"));
|
|
42
|
+
Object.defineProperty(exports, "ApiError", { enumerable: true, get: function () { return ApiClient_1.ApiError; } });
|
|
43
|
+
const DefaultLogger_1 = require("./lib/DefaultLogger");
|
|
44
|
+
const AuthManager_1 = require("./lib/AuthManager");
|
|
45
|
+
Object.defineProperty(exports, "ApiKeyAuthManager", { enumerable: true, get: function () { return AuthManager_1.ApiKeyAuthManager; } });
|
|
46
|
+
const version_1 = require("./version");
|
|
47
|
+
Object.defineProperty(exports, "LIB_VERSION", { enumerable: true, get: function () { return version_1.LIB_VERSION; } });
|
|
48
|
+
function assertCryptoPolyfill() {
|
|
49
|
+
if (typeof globalThis.crypto === 'undefined' ||
|
|
50
|
+
typeof globalThis.crypto.getRandomValues !== 'function') {
|
|
51
|
+
throw new Error("@sogni-ai/expo-client requires crypto.getRandomValues. Add `import 'expo-standard-web-crypto/polyfill'` at your app entry point (e.g. app/_layout.tsx). See README for details.");
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
class SogniClient {
|
|
55
|
+
constructor(client) {
|
|
56
|
+
this.apiClient = client;
|
|
57
|
+
this.account = new Account_1.default(client);
|
|
58
|
+
}
|
|
59
|
+
get isAuthenticated() {
|
|
60
|
+
return this.apiClient.isAuthenticated;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* For token-based auth, restore a session from refresh+access tokens.
|
|
64
|
+
* Typically called once at app startup; the SDK also auto-restores from
|
|
65
|
+
* secure storage in `create()`, so this is only needed when migrating
|
|
66
|
+
* tokens from another source.
|
|
67
|
+
*/
|
|
68
|
+
async setTokens(tokens) {
|
|
69
|
+
const auth = this.apiClient.auth;
|
|
70
|
+
if (!(auth instanceof AuthManager_1.TokenAuthManager)) {
|
|
71
|
+
throw new Error('setTokens can only be used with token authentication');
|
|
72
|
+
}
|
|
73
|
+
await auth.authenticate(tokens);
|
|
74
|
+
}
|
|
75
|
+
/** Disconnect and tear down resources. Instance should not be reused after dispose(). */
|
|
76
|
+
dispose() {
|
|
77
|
+
this.apiClient.dispose();
|
|
78
|
+
}
|
|
79
|
+
static async create(config) {
|
|
80
|
+
assertCryptoPolyfill();
|
|
81
|
+
const restEndpoint = config.restEndpoint || 'https://api.sogni.ai';
|
|
82
|
+
const socketEndpoint = config.socketEndpoint || 'wss://socket.sogni.ai';
|
|
83
|
+
const network = config.network || 'fast';
|
|
84
|
+
const logger = config.logger || new DefaultLogger_1.DefaultLogger(config.logLevel || 'warn');
|
|
85
|
+
const authType = config.apiKey ? 'apiKey' : config.authType || 'token';
|
|
86
|
+
const apiClient = new ApiClient_1.default({
|
|
87
|
+
baseUrl: restEndpoint,
|
|
88
|
+
socketUrl: socketEndpoint,
|
|
89
|
+
appId: config.appId,
|
|
90
|
+
appSource: config.appSource,
|
|
91
|
+
networkType: network,
|
|
92
|
+
authType,
|
|
93
|
+
logger,
|
|
94
|
+
authStorage: config.authStorage,
|
|
95
|
+
disableSocket: config.disableSocket
|
|
96
|
+
});
|
|
97
|
+
if (config.apiKey) {
|
|
98
|
+
const auth = apiClient.auth;
|
|
99
|
+
await auth.authenticate(config.apiKey);
|
|
100
|
+
}
|
|
101
|
+
else if (apiClient.auth instanceof AuthManager_1.TokenAuthManager) {
|
|
102
|
+
await apiClient.auth.restore();
|
|
103
|
+
}
|
|
104
|
+
return new SogniClient(apiClient);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
exports.SogniClient = SogniClient;
|
|
108
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAAmC;AAEnC,yDAAiF;AAoCxE,yFApCW,oBAAQ,OAoCX;AA1BjB,uDAAsE;AACtE,mDAAoG;AAyBjF,kGAzBV,+BAAiB,OAyBU;AAtBpC,uCAAwC;AAsBF,4FAtB7B,qBAAW,OAsB6B;AA6BjD,SAAS,oBAAoB;IAC3B,IACE,OAAO,UAAU,CAAC,MAAM,KAAK,WAAW;QACxC,OAAO,UAAU,CAAC,MAAM,CAAC,eAAe,KAAK,UAAU,EACvD,CAAC;QACD,MAAM,IAAI,KAAK,CACb,iLAAiL,CAClL,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAa,WAAW;IAItB,YAAoB,MAAiB;QACnC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAU,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;IACxC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CAAC,MAAqB;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QACjC,IAAI,CAAC,CAAC,IAAI,YAAY,8BAAgB,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,yFAAyF;IACzF,OAAO;QACL,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAyB;QAC3C,oBAAoB,EAAE,CAAC;QAEvB,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,sBAAsB,CAAC;QACnE,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,uBAAuB,CAAC;QACxE,MAAM,OAAO,GAAiB,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC;QACvD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,IAAI,6BAAa,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC;QAC7E,MAAM,QAAQ,GAAuB,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,OAAO,CAAC;QAE3F,MAAM,SAAS,GAAG,IAAI,mBAAS,CAAC;YAC9B,OAAO,EAAE,YAAY;YACrB,SAAS,EAAE,cAAc;YACzB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,WAAW,EAAE,OAAO;YACpB,QAAQ;YACR,MAAM;YACN,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,aAAa,EAAE,MAAM,CAAC,aAAa;SACpC,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,IAAI,GAAG,SAAS,CAAC,IAAyB,CAAC;YACjD,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,SAAS,CAAC,IAAI,YAAY,8BAAgB,EAAE,CAAC;YACtD,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACjC,CAAC;QAED,OAAO,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;CACF;AA9DD,kCA8DC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import AuthManagerBase from './AuthManagerBase';
|
|
2
|
+
import { Logger } from '../DefaultLogger';
|
|
3
|
+
import { SocketAuthData } from '../../ApiClient/WebSocketClient/types';
|
|
4
|
+
declare class ApiKeyAuthManager extends AuthManagerBase<string | null> {
|
|
5
|
+
private _apiKey?;
|
|
6
|
+
constructor(logger: Logger);
|
|
7
|
+
get isAuthenticated(): boolean;
|
|
8
|
+
authenticate(apiKey: string): Promise<void>;
|
|
9
|
+
clear(): void;
|
|
10
|
+
backup(): Promise<string | null>;
|
|
11
|
+
authenticateRequest(options: RequestInit): Promise<RequestInit>;
|
|
12
|
+
socketAuth(): Promise<SocketAuthData>;
|
|
13
|
+
}
|
|
14
|
+
export default ApiKeyAuthManager;
|
|
15
|
+
//# sourceMappingURL=ApiKeyAuthManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApiKeyAuthManager.d.ts","sourceRoot":"","sources":["../../../../src/lib/AuthManager/ApiKeyAuthManager.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAEvE,cAAM,iBAAkB,SAAQ,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC;IAC5D,OAAO,CAAC,OAAO,CAAC,CAAS;gBAEb,MAAM,EAAE,MAAM;IAI1B,IAAI,eAAe,YAElB;IAEK,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQjD,KAAK;IAQC,MAAM,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIhC,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAU/D,UAAU,IAAI,OAAO,CAAC,cAAc,CAAC;CAI5C;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const AuthManagerBase_1 = __importDefault(require("./AuthManagerBase"));
|
|
7
|
+
class ApiKeyAuthManager extends AuthManagerBase_1.default {
|
|
8
|
+
constructor(logger) {
|
|
9
|
+
super(logger);
|
|
10
|
+
}
|
|
11
|
+
get isAuthenticated() {
|
|
12
|
+
return !!this._apiKey;
|
|
13
|
+
}
|
|
14
|
+
async authenticate(apiKey) {
|
|
15
|
+
if (this._apiKey === apiKey) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
this._apiKey = apiKey;
|
|
19
|
+
this.emit('updated', true);
|
|
20
|
+
}
|
|
21
|
+
clear() {
|
|
22
|
+
if (!this._apiKey) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
this._apiKey = undefined;
|
|
26
|
+
this.emit('updated', false);
|
|
27
|
+
}
|
|
28
|
+
async backup() {
|
|
29
|
+
return this._apiKey || null;
|
|
30
|
+
}
|
|
31
|
+
async authenticateRequest(options) {
|
|
32
|
+
if (!this._apiKey) {
|
|
33
|
+
return options;
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
...options,
|
|
37
|
+
headers: { ...options.headers, 'api-key': this._apiKey }
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
async socketAuth() {
|
|
41
|
+
if (!this._apiKey)
|
|
42
|
+
return {};
|
|
43
|
+
return { queryParams: { apiKey: this._apiKey } };
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.default = ApiKeyAuthManager;
|
|
47
|
+
//# sourceMappingURL=ApiKeyAuthManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApiKeyAuthManager.js","sourceRoot":"","sources":["../../../../src/lib/AuthManager/ApiKeyAuthManager.ts"],"names":[],"mappings":";;;;;AAAA,wEAAgD;AAIhD,MAAM,iBAAkB,SAAQ,yBAA8B;IAG5D,YAAY,MAAc;QACxB,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc;QAC/B,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,OAAoB;QAC5C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO;YACL,GAAG,OAAO;YACV,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE;SACzD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QAC7B,OAAO,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;IACnD,CAAC;CACF;AAED,kBAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Logger } from '../DefaultLogger';
|
|
2
|
+
import TypedEventEmitter from '../TypedEventEmitter';
|
|
3
|
+
import { SocketAuthData } from '../../ApiClient/WebSocketClient/types';
|
|
4
|
+
interface AuthManagerEvents {
|
|
5
|
+
updated: boolean;
|
|
6
|
+
}
|
|
7
|
+
declare abstract class AuthManagerBase<AuthData = never> extends TypedEventEmitter<AuthManagerEvents> {
|
|
8
|
+
protected _logger: Logger;
|
|
9
|
+
constructor(logger: Logger);
|
|
10
|
+
abstract get isAuthenticated(): boolean;
|
|
11
|
+
abstract authenticateRequest(option: RequestInit): Promise<RequestInit>;
|
|
12
|
+
/**
|
|
13
|
+
* Describe how to authenticate the WebSocket upgrade request. May return
|
|
14
|
+
* headers (preferred for JWT tokens), query params (preferred for API keys),
|
|
15
|
+
* or both. Empty object means unauthenticated.
|
|
16
|
+
*/
|
|
17
|
+
abstract socketAuth(): Promise<SocketAuthData>;
|
|
18
|
+
abstract backup(): Promise<AuthData>;
|
|
19
|
+
abstract authenticate(data: AuthData): Promise<void>;
|
|
20
|
+
abstract clear(): void;
|
|
21
|
+
}
|
|
22
|
+
export default AuthManagerBase;
|
|
23
|
+
//# sourceMappingURL=AuthManagerBase.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuthManagerBase.d.ts","sourceRoot":"","sources":["../../../../src/lib/AuthManager/AuthManagerBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAEvE,UAAU,iBAAiB;IACzB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,uBAAe,eAAe,CAAC,QAAQ,GAAG,KAAK,CAAE,SAAQ,iBAAiB,CAAC,iBAAiB,CAAC;IAC3F,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEd,MAAM,EAAE,MAAM;IAK1B,QAAQ,KAAK,eAAe,IAAI,OAAO,CAAC;IAExC,QAAQ,CAAC,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAEvE;;;;OAIG;IACH,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,cAAc,CAAC;IAE9C,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC;IAEpC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAEpD,QAAQ,CAAC,KAAK,IAAI,IAAI;CACvB;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const TypedEventEmitter_1 = __importDefault(require("../TypedEventEmitter"));
|
|
7
|
+
class AuthManagerBase extends TypedEventEmitter_1.default {
|
|
8
|
+
constructor(logger) {
|
|
9
|
+
super();
|
|
10
|
+
this._logger = logger;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.default = AuthManagerBase;
|
|
14
|
+
//# sourceMappingURL=AuthManagerBase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuthManagerBase.js","sourceRoot":"","sources":["../../../../src/lib/AuthManager/AuthManagerBase.ts"],"names":[],"mappings":";;;;;AACA,6EAAqD;AAOrD,MAAe,eAAkC,SAAQ,2BAAoC;IAG3F,YAAY,MAAc;QACxB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;CAkBF;AAED,kBAAe,eAAe,CAAC"}
|