@qmuse/cloud-client 0.0.1-dev.1 → 0.0.1-dev.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/README.md +61 -52
- package/dist/adapters.d.ts +39 -4
- package/dist/adapters.d.ts.map +1 -1
- package/dist/adapters.js +31 -18
- package/dist/adapters.js.map +1 -1
- package/dist/auth.d.ts +8 -3
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +142 -102
- package/dist/auth.js.map +1 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +12 -8
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +3 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -4
- package/dist/index.js.map +1 -1
- package/dist/miniapp.d.ts +20 -1
- package/dist/miniapp.d.ts.map +1 -1
- package/dist/miniapp.js +139 -0
- package/dist/miniapp.js.map +1 -1
- package/dist/singleton.d.ts +24 -0
- package/dist/singleton.d.ts.map +1 -0
- package/dist/singleton.js +104 -0
- package/dist/singleton.js.map +1 -0
- package/dist/types.d.ts +25 -26
- package/dist/types.d.ts.map +1 -1
- package/dist/web.d.ts +4 -1
- package/dist/web.d.ts.map +1 -1
- package/dist/web.js +20 -0
- package/dist/web.js.map +1 -1
- package/package.json +17 -2
package/dist/auth.js
CHANGED
|
@@ -1,30 +1,55 @@
|
|
|
1
1
|
import { QmuseCloudError } from './errors.js';
|
|
2
|
-
|
|
2
|
+
const DEFAULT_REFRESH_BEFORE_MS = 5 * 60 * 1000;
|
|
3
|
+
function validUser(value) {
|
|
3
4
|
if (!value || typeof value !== 'object')
|
|
4
5
|
return false;
|
|
5
6
|
const item = value;
|
|
6
|
-
return typeof item.
|
|
7
|
-
typeof item.
|
|
8
|
-
|
|
9
|
-
!!item.user && typeof item.user === 'object' && typeof item.user.id === 'string' && item.user.id.length > 0;
|
|
7
|
+
return typeof item.id === 'string' && item.id.length > 0 &&
|
|
8
|
+
typeof item.username === 'string' && item.username.length > 0 &&
|
|
9
|
+
(item.role === 'user' || item.role === 'admin');
|
|
10
10
|
}
|
|
11
|
-
function
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
typeof shadow.secret === 'string' && shadow.secret.length > 0 &&
|
|
19
|
-
typeof shadow.expire === 'string' && shadow.expire.length > 0;
|
|
11
|
+
export function toCloudAuthUser(value) {
|
|
12
|
+
const id = value?.$id?.trim();
|
|
13
|
+
const username = /^([a-z0-9_]{3,32})@qmuse[.]cn$/.exec(value?.email?.trim().toLowerCase() ?? '')?.[1];
|
|
14
|
+
if (!id || !username) {
|
|
15
|
+
throw new QmuseCloudError('AppBase returned an invalid current user', 'AUTH_USER_INVALID');
|
|
16
|
+
}
|
|
17
|
+
return { id, username, role: value.labels?.includes('admin') ? 'admin' : 'user' };
|
|
20
18
|
}
|
|
21
|
-
function
|
|
19
|
+
function userResult(response) {
|
|
20
|
+
const user = response.data?.data;
|
|
21
|
+
if (!validUser(user)) {
|
|
22
|
+
throw new QmuseCloudError('Cloud API returned an invalid user', 'AUTH_USER_INVALID');
|
|
23
|
+
}
|
|
24
|
+
return user;
|
|
25
|
+
}
|
|
26
|
+
function loginResult(response) {
|
|
22
27
|
const value = response.data?.data;
|
|
23
|
-
if (!
|
|
28
|
+
if (!value || typeof value !== 'object' || !validUser(value.user)) {
|
|
29
|
+
throw new QmuseCloudError('Cloud API returned an invalid authentication response', 'AUTH_RESPONSE_INVALID');
|
|
30
|
+
}
|
|
31
|
+
const token = value.sessionToken;
|
|
32
|
+
if (!token || typeof token !== 'object' || token.userId !== value.user.id ||
|
|
33
|
+
typeof token.secret !== 'string' || token.secret.length === 0 ||
|
|
34
|
+
typeof token.expire !== 'string' || token.expire.length === 0) {
|
|
24
35
|
throw new QmuseCloudError('Cloud API returned an invalid authentication response', 'AUTH_RESPONSE_INVALID');
|
|
25
36
|
}
|
|
26
37
|
return value;
|
|
27
38
|
}
|
|
39
|
+
function expiration(value) {
|
|
40
|
+
const parsed = Date.parse(value);
|
|
41
|
+
if (!Number.isFinite(parsed)) {
|
|
42
|
+
throw new QmuseCloudError('AppBase returned an invalid Session expiry', 'AUTH_SESSION_INVALID');
|
|
43
|
+
}
|
|
44
|
+
return parsed;
|
|
45
|
+
}
|
|
46
|
+
function isMissingSession(error) {
|
|
47
|
+
if (!error || typeof error !== 'object')
|
|
48
|
+
return false;
|
|
49
|
+
const value = error;
|
|
50
|
+
return [value.code, value.status, value.statusCode]
|
|
51
|
+
.some(code => Number(code) === 401 || Number(code) === 404);
|
|
52
|
+
}
|
|
28
53
|
export function createUnavailableCloudAuth() {
|
|
29
54
|
const unavailable = async () => {
|
|
30
55
|
throw new QmuseCloudError('Cloud Auth is not configured', 'AUTH_UNAVAILABLE');
|
|
@@ -32,75 +57,85 @@ export function createUnavailableCloudAuth() {
|
|
|
32
57
|
return {
|
|
33
58
|
register: unavailable,
|
|
34
59
|
login: unavailable,
|
|
35
|
-
|
|
36
|
-
|
|
60
|
+
refreshSession: unavailable,
|
|
61
|
+
restoreSession: async () => null,
|
|
37
62
|
logout: async () => undefined,
|
|
38
63
|
logoutAll: async () => undefined,
|
|
39
64
|
getCurrentUser: async () => null,
|
|
40
|
-
|
|
65
|
+
prepareRequest: async () => undefined,
|
|
41
66
|
};
|
|
42
67
|
}
|
|
43
68
|
export function createCloudAuth(options, request) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
69
|
+
const account = options?.account;
|
|
70
|
+
if (!account || typeof account.createSession !== 'function' ||
|
|
71
|
+
typeof account.getCurrentUser !== 'function' || typeof account.getCurrentSession !== 'function' ||
|
|
72
|
+
typeof account.refreshCurrentSession !== 'function' || typeof account.deleteCurrentSession !== 'function' ||
|
|
73
|
+
typeof account.deleteAllSessions !== 'function') {
|
|
74
|
+
throw new TypeError('Cloud Auth requires an AppBase Account capability');
|
|
47
75
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
throw new TypeError('
|
|
76
|
+
const refreshBeforeMs = options.refreshBeforeMs ?? DEFAULT_REFRESH_BEFORE_MS;
|
|
77
|
+
if (!Number.isFinite(refreshBeforeMs) || refreshBeforeMs < 0) {
|
|
78
|
+
throw new TypeError('refreshBeforeMs must be a non-negative finite number');
|
|
51
79
|
}
|
|
52
|
-
|
|
53
|
-
let
|
|
80
|
+
const now = options.now ?? Date.now;
|
|
81
|
+
let initialized = false;
|
|
82
|
+
let user = null;
|
|
83
|
+
let expiresAt = 0;
|
|
54
84
|
let refreshFlight = null;
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
loaded = true;
|
|
61
|
-
if (stored && !credentials)
|
|
62
|
-
await options.credentialStore.clear();
|
|
63
|
-
return credentials;
|
|
85
|
+
let restoreFlight = null;
|
|
86
|
+
const clear = () => {
|
|
87
|
+
initialized = true;
|
|
88
|
+
user = null;
|
|
89
|
+
expiresAt = 0;
|
|
64
90
|
};
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
91
|
+
const readCurrent = async () => {
|
|
92
|
+
const [currentUser, currentSession] = await Promise.all([
|
|
93
|
+
account.getCurrentUser(),
|
|
94
|
+
account.getCurrentSession(),
|
|
95
|
+
]);
|
|
96
|
+
if (!validUser(currentUser)) {
|
|
97
|
+
throw new QmuseCloudError('AppBase returned an invalid current user', 'AUTH_USER_INVALID');
|
|
98
|
+
}
|
|
99
|
+
expiresAt = expiration(currentSession.expire);
|
|
100
|
+
user = currentUser;
|
|
101
|
+
initialized = true;
|
|
102
|
+
return currentUser;
|
|
69
103
|
};
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
104
|
+
const restoreSession = async () => {
|
|
105
|
+
if (restoreFlight)
|
|
106
|
+
return restoreFlight;
|
|
107
|
+
restoreFlight = (async () => {
|
|
108
|
+
try {
|
|
109
|
+
return await readCurrent();
|
|
110
|
+
}
|
|
111
|
+
catch (error) {
|
|
112
|
+
if (!isMissingSession(error))
|
|
113
|
+
throw error;
|
|
114
|
+
clear();
|
|
115
|
+
return null;
|
|
116
|
+
}
|
|
117
|
+
})();
|
|
75
118
|
try {
|
|
76
|
-
await
|
|
77
|
-
credentials = result.credentials;
|
|
78
|
-
loaded = true;
|
|
79
|
-
return result.credentials.user;
|
|
119
|
+
return await restoreFlight;
|
|
80
120
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
throw error;
|
|
121
|
+
finally {
|
|
122
|
+
restoreFlight = null;
|
|
84
123
|
}
|
|
85
124
|
};
|
|
86
|
-
const
|
|
87
|
-
await options.shadowSession.deleteCurrentSession().catch(() => undefined);
|
|
88
|
-
return establish(sessionResult(await request({ method: 'POST', path, body })));
|
|
89
|
-
};
|
|
90
|
-
const refresh = async () => {
|
|
125
|
+
const refreshSession = async () => {
|
|
91
126
|
if (refreshFlight)
|
|
92
127
|
return refreshFlight;
|
|
93
128
|
refreshFlight = (async () => {
|
|
94
|
-
const
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
return
|
|
129
|
+
const session = await account.refreshCurrentSession();
|
|
130
|
+
expiresAt = expiration(session.expire);
|
|
131
|
+
const currentUser = await account.getCurrentUser();
|
|
132
|
+
if (!validUser(currentUser)) {
|
|
133
|
+
clear();
|
|
134
|
+
throw new QmuseCloudError('AppBase returned an invalid current user', 'AUTH_USER_INVALID');
|
|
135
|
+
}
|
|
136
|
+
user = currentUser;
|
|
137
|
+
initialized = true;
|
|
138
|
+
return currentUser;
|
|
104
139
|
})();
|
|
105
140
|
try {
|
|
106
141
|
return await refreshFlight;
|
|
@@ -110,60 +145,65 @@ export function createCloudAuth(options, request) {
|
|
|
110
145
|
}
|
|
111
146
|
};
|
|
112
147
|
return {
|
|
113
|
-
register
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
async
|
|
117
|
-
|
|
118
|
-
return null;
|
|
148
|
+
async register(input) {
|
|
149
|
+
return userResult(await request({ method: 'POST', path: '/api/auth/register', body: input }));
|
|
150
|
+
},
|
|
151
|
+
async login(input) {
|
|
152
|
+
const result = loginResult(await request({ method: 'POST', path: '/api/auth/login', body: input }));
|
|
119
153
|
try {
|
|
120
|
-
|
|
154
|
+
await account.deleteCurrentSession().catch(error => {
|
|
155
|
+
if (!isMissingSession(error))
|
|
156
|
+
throw error;
|
|
157
|
+
});
|
|
158
|
+
const session = await account.createSession({
|
|
159
|
+
userId: result.sessionToken.userId,
|
|
160
|
+
secret: result.sessionToken.secret,
|
|
161
|
+
});
|
|
162
|
+
expiresAt = expiration(session.expire);
|
|
163
|
+
const currentUser = await account.getCurrentUser();
|
|
164
|
+
if (!validUser(currentUser)) {
|
|
165
|
+
throw new QmuseCloudError('AppBase returned an invalid current user', 'AUTH_USER_INVALID');
|
|
166
|
+
}
|
|
167
|
+
user = currentUser;
|
|
168
|
+
initialized = true;
|
|
169
|
+
return currentUser;
|
|
121
170
|
}
|
|
122
|
-
catch
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
171
|
+
catch {
|
|
172
|
+
clear();
|
|
173
|
+
throw new QmuseCloudError('Could not establish the AppBase Session', 'AUTH_SESSION_EXCHANGE_FAILED');
|
|
174
|
+
}
|
|
175
|
+
finally {
|
|
176
|
+
result.sessionToken.secret = '';
|
|
126
177
|
}
|
|
127
178
|
},
|
|
179
|
+
refreshSession,
|
|
180
|
+
restoreSession,
|
|
128
181
|
async logout() {
|
|
129
|
-
const current = await load();
|
|
130
182
|
try {
|
|
131
|
-
|
|
132
|
-
await request({ method: 'POST', path: '/api/auth/logout' }, current.accessToken);
|
|
133
|
-
}
|
|
183
|
+
await account.deleteCurrentSession();
|
|
134
184
|
}
|
|
135
185
|
finally {
|
|
136
|
-
|
|
137
|
-
await clear();
|
|
186
|
+
clear();
|
|
138
187
|
}
|
|
139
188
|
},
|
|
140
189
|
async logoutAll() {
|
|
141
|
-
const current = await load();
|
|
142
190
|
try {
|
|
143
|
-
|
|
144
|
-
await request({ method: 'POST', path: '/api/auth/logout-all' }, current.accessToken);
|
|
145
|
-
}
|
|
191
|
+
await account.deleteAllSessions();
|
|
146
192
|
}
|
|
147
193
|
finally {
|
|
148
|
-
|
|
149
|
-
await clear();
|
|
194
|
+
clear();
|
|
150
195
|
}
|
|
151
196
|
},
|
|
152
197
|
async getCurrentUser() {
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
return null;
|
|
156
|
-
const response = await request({ method: 'GET', path: '/api/auth/me' }, current.accessToken);
|
|
157
|
-
const user = response.data?.data;
|
|
158
|
-
if (!user || typeof user !== 'object' || typeof user.id !== 'string') {
|
|
159
|
-
throw new QmuseCloudError('Cloud API returned an invalid current user', 'AUTH_USER_INVALID');
|
|
160
|
-
}
|
|
161
|
-
credentials = { ...current, user };
|
|
162
|
-
await options.credentialStore.save(credentials);
|
|
198
|
+
if (!initialized)
|
|
199
|
+
return restoreSession();
|
|
163
200
|
return user;
|
|
164
201
|
},
|
|
165
|
-
async
|
|
166
|
-
|
|
202
|
+
async prepareRequest() {
|
|
203
|
+
if (!initialized)
|
|
204
|
+
await restoreSession();
|
|
205
|
+
if (user && expiresAt - now() <= refreshBeforeMs)
|
|
206
|
+
await refreshSession();
|
|
167
207
|
},
|
|
168
208
|
};
|
|
169
209
|
}
|
package/dist/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAKV,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAKV,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AA6GpB,wBAAgB,sBAAsB,CAAC,UAAU,GAAG,KAAK,EACvD,OAAO,EAAE,IAAI,CAAC,uBAAuB,EAAE,eAAe,CAAC,GAAG;IAAE,aAAa,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAA;CAAE,GAC3G,gBAAgB,CAAC,UAAU,CAAC,CAiD9B"}
|
package/dist/client.js
CHANGED
|
@@ -31,7 +31,7 @@ function buildPath(path, query) {
|
|
|
31
31
|
const encoded = params.toString();
|
|
32
32
|
return encoded ? `${path}?${encoded}` : path;
|
|
33
33
|
}
|
|
34
|
-
function normalizeRequestHeaders(headers, hasBody
|
|
34
|
+
function normalizeRequestHeaders(headers, hasBody) {
|
|
35
35
|
const normalized = { accept: 'application/json' };
|
|
36
36
|
for (const [rawName, value] of Object.entries(headers ?? {})) {
|
|
37
37
|
const name = rawName.trim().toLowerCase();
|
|
@@ -42,8 +42,6 @@ function normalizeRequestHeaders(headers, hasBody, accessToken) {
|
|
|
42
42
|
}
|
|
43
43
|
if (hasBody && !normalized['content-type'])
|
|
44
44
|
normalized['content-type'] = 'application/json';
|
|
45
|
-
if (accessToken)
|
|
46
|
-
normalized.authorization = `Bearer ${accessToken}`;
|
|
47
45
|
return normalized;
|
|
48
46
|
}
|
|
49
47
|
function normalizeResponseHeaders(value) {
|
|
@@ -110,7 +108,7 @@ export function createQmuseCloudClient(options) {
|
|
|
110
108
|
if (!options || typeof options.execute !== 'function') {
|
|
111
109
|
throw new TypeError('A Cloud API execution capability is required');
|
|
112
110
|
}
|
|
113
|
-
const execute = async (request
|
|
111
|
+
const execute = async (request) => {
|
|
114
112
|
const body = serializeBody(request);
|
|
115
113
|
const execution = await options.execute({
|
|
116
114
|
functionId,
|
|
@@ -118,7 +116,7 @@ export function createQmuseCloudClient(options) {
|
|
|
118
116
|
async: false,
|
|
119
117
|
path: buildPath(request.path, request.query),
|
|
120
118
|
method: request.method,
|
|
121
|
-
headers: normalizeRequestHeaders(request.headers, body.length > 0
|
|
119
|
+
headers: normalizeRequestHeaders(request.headers, body.length > 0),
|
|
122
120
|
});
|
|
123
121
|
if (execution.status !== 'completed') {
|
|
124
122
|
throw new QmuseCloudError('Cloud API Function execution did not complete', 'EXECUTION_NOT_COMPLETED');
|
|
@@ -138,14 +136,20 @@ export function createQmuseCloudClient(options) {
|
|
|
138
136
|
};
|
|
139
137
|
const auth = options.auth ? createCloudAuth(options.auth, execute) : createUnavailableCloudAuth();
|
|
140
138
|
const authenticatedExecute = async (request) => {
|
|
139
|
+
await auth.prepareRequest();
|
|
141
140
|
try {
|
|
142
|
-
return await execute(request
|
|
141
|
+
return await execute(request);
|
|
143
142
|
}
|
|
144
143
|
catch (error) {
|
|
145
144
|
if (!options.auth || !isTransportUnauthorized(error))
|
|
146
145
|
throw error;
|
|
147
|
-
|
|
148
|
-
|
|
146
|
+
try {
|
|
147
|
+
await auth.refreshSession();
|
|
148
|
+
}
|
|
149
|
+
catch {
|
|
150
|
+
throw error;
|
|
151
|
+
}
|
|
152
|
+
return execute(request);
|
|
149
153
|
}
|
|
150
154
|
};
|
|
151
155
|
return {
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAW9C,MAAM,UAAU,GAAG,iBAA0B,CAAC;AAC9C,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,QAAQ;IACR,cAAc;IACd,iBAAiB;IACjB,UAAU;IACV,eAAe;IACf,cAAc;CACf,CAAC,CAAC;AAEH,SAAS,gBAAgB,CAAC,KAA0C;IAClE,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,KAAuC;IACtE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACjD,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,SAAS,CAAC,kEAAkE,CAAC,CAAC;IAC1F,CAAC;IACD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAClC,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/C,CAAC;AAED,SAAS,uBAAuB,CAC9B,OAA2C,EAC3C,OAAgB
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export { createCloudFiles } from './files.js';
|
|
3
|
-
export { createCloudAuth } from './auth.js';
|
|
4
|
-
export { createAppBaseWebCloudClient, createPortableCloudClient, } from './adapters.js';
|
|
1
|
+
export { getQMuseClient, isQMuseClientInitialized, } from './singleton.js';
|
|
5
2
|
export { QmuseCloudError, QmuseCloudHttpError } from './errors.js';
|
|
6
|
-
export type { CloudExecution, CloudExecutionInput, CloudMethod, CloudQueryValue, CloudRequest, CloudResponse, ExecutionHeader, QmuseCloudClient, QmuseCloudClientOptions,
|
|
7
|
-
export type {
|
|
3
|
+
export type { CloudExecution, CloudExecutionInput, CloudMethod, CloudQueryValue, CloudRequest, CloudResponse, ExecutionHeader, QmuseCloudClient, QmuseCloudClientOptions, CloudAccountCapability, CloudAuthOptions, CloudLoginResult, CloudAuthUser, CloudLoginInput, CloudRegisterInput, CloudSessionToken, QmuseCloudAuth, CloudDisposableUrl, CloudFileAccessInput, CloudFileDescriptor, CloudFileList, CloudFileListInput, CloudFilePreviewInput, CloudFileRecord, CloudFileTransport, CloudFileUploadInput, CloudReadableUrlInput, CloudUploadProgress, CloudUploadReceipt, CloudUploadTarget, QmuseCloudFiles, } from './types.js';
|
|
4
|
+
export type { QMuseClientConfig, QMuseClientConfigSource, } from './singleton.js';
|
|
8
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACnE,YAAY,EACV,cAAc,EACd,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,YAAY,EACZ,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export { createCloudFiles } from './files.js';
|
|
3
|
-
export { createCloudAuth } from './auth.js';
|
|
4
|
-
export { createAppBaseWebCloudClient, createPortableCloudClient, } from './adapters.js';
|
|
1
|
+
export { getQMuseClient, isQMuseClientInitialized, } from './singleton.js';
|
|
5
2
|
export { QmuseCloudError, QmuseCloudHttpError } from './errors.js';
|
|
6
3
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/miniapp.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type InitQMuseCloudClientOptions } from './singleton.js';
|
|
2
|
+
import type { CloudFileTransport, QmuseCloudClient } from './types.js';
|
|
3
|
+
export type { InitQMuseCloudClientOptions } from './singleton.js';
|
|
2
4
|
export interface MiniappCloudFile {
|
|
3
5
|
path: string;
|
|
4
6
|
size: number;
|
|
@@ -56,5 +58,22 @@ export interface CloudMiniappCapabilities {
|
|
|
56
58
|
getSessionHeaders?(): Record<string, string>;
|
|
57
59
|
observeResponseHeaders?(headers: Record<string, unknown>): void;
|
|
58
60
|
}
|
|
61
|
+
export interface MiniappSessionStorage {
|
|
62
|
+
getItem(key: string): string | null | undefined;
|
|
63
|
+
setItem(key: string, value: string): void;
|
|
64
|
+
removeItem(key: string): void;
|
|
65
|
+
}
|
|
66
|
+
export interface MiniappSessionBridge {
|
|
67
|
+
readonly storageKey: string;
|
|
68
|
+
getSessionHeaders(): Record<string, string>;
|
|
69
|
+
observeResponseHeaders(headers: Record<string, unknown>): void;
|
|
70
|
+
clear(): void;
|
|
71
|
+
}
|
|
72
|
+
export declare function initQMuseCloudClient(options: InitQMuseCloudClientOptions): Promise<QmuseCloudClient<MiniappCloudFile>>;
|
|
73
|
+
export declare function createMiniappSessionBridge(input: {
|
|
74
|
+
endpoint: string;
|
|
75
|
+
projectId: string;
|
|
76
|
+
storage: MiniappSessionStorage;
|
|
77
|
+
}): MiniappSessionBridge;
|
|
59
78
|
export declare function createMiniappFileTransport(capabilities: CloudMiniappCapabilities): CloudFileTransport<MiniappCloudFile>;
|
|
60
79
|
//# sourceMappingURL=miniapp.d.ts.map
|
package/dist/miniapp.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"miniapp.d.ts","sourceRoot":"","sources":["../src/miniapp.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"miniapp.d.ts","sourceRoot":"","sources":["../src/miniapp.ts"],"names":[],"mappings":"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"}
|