@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/dist/auth.js CHANGED
@@ -1,30 +1,55 @@
1
1
  import { QmuseCloudError } from './errors.js';
2
- function validCredentials(value) {
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.accessToken === 'string' && item.accessToken.length > 0 &&
7
- typeof item.refreshToken === 'string' && item.refreshToken.length > 0 &&
8
- typeof item.accessTokenExpiresAt === 'string' && item.accessTokenExpiresAt.length > 0 &&
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 validSessionResult(value) {
12
- if (!value || typeof value !== 'object')
13
- return false;
14
- const item = value;
15
- const shadow = item.shadowSession;
16
- return validCredentials(item.credentials) && !!shadow && typeof shadow === 'object' &&
17
- typeof shadow.userId === 'string' && shadow.userId === item.credentials.user.id &&
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 sessionResult(response) {
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 (!validSessionResult(value)) {
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
- refresh: unavailable,
36
- restore: async () => null,
60
+ refreshSession: unavailable,
61
+ restoreSession: async () => null,
37
62
  logout: async () => undefined,
38
63
  logoutAll: async () => undefined,
39
64
  getCurrentUser: async () => null,
40
- accessToken: async () => undefined,
65
+ prepareRequest: async () => undefined,
41
66
  };
42
67
  }
43
68
  export function createCloudAuth(options, request) {
44
- if (!options || typeof options.credentialStore?.load !== 'function' ||
45
- typeof options.credentialStore.save !== 'function' || typeof options.credentialStore.clear !== 'function') {
46
- throw new TypeError('Cloud Auth requires a credential store');
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
- if (typeof options.shadowSession?.createSession !== 'function' ||
49
- typeof options.shadowSession.deleteCurrentSession !== 'function') {
50
- throw new TypeError('Cloud Auth requires a shadow Session capability');
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
- let loaded = false;
53
- let credentials = null;
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
- const load = async () => {
56
- if (loaded)
57
- return credentials;
58
- const stored = await options.credentialStore.load();
59
- credentials = validCredentials(stored) ? stored : null;
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 clear = async () => {
66
- credentials = null;
67
- loaded = true;
68
- await options.credentialStore.clear();
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 establish = async (result) => {
71
- await options.shadowSession.createSession({
72
- userId: result.shadowSession.userId,
73
- secret: result.shadowSession.secret,
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 options.credentialStore.save(result.credentials);
77
- credentials = result.credentials;
78
- loaded = true;
79
- return result.credentials.user;
119
+ return await restoreFlight;
80
120
  }
81
- catch (error) {
82
- await options.shadowSession.deleteCurrentSession().catch(() => undefined);
83
- throw error;
121
+ finally {
122
+ restoreFlight = null;
84
123
  }
85
124
  };
86
- const authenticate = async (path, body) => {
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 current = await load();
95
- if (!current)
96
- throw new QmuseCloudError('No application session is available', 'AUTH_SESSION_MISSING');
97
- await options.shadowSession.deleteCurrentSession().catch(() => undefined);
98
- const response = await request({
99
- method: 'POST',
100
- path: '/api/auth/refresh',
101
- body: { refreshToken: current.refreshToken },
102
- });
103
- return establish(sessionResult(response));
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: input => authenticate('/api/auth/register', input),
114
- login: input => authenticate('/api/auth/login', input),
115
- refresh,
116
- async restore() {
117
- if (!await load())
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
- return await refresh();
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 (error) {
123
- await clear();
124
- await options.shadowSession.deleteCurrentSession().catch(() => undefined);
125
- throw error;
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
- if (current) {
132
- await request({ method: 'POST', path: '/api/auth/logout' }, current.accessToken);
133
- }
183
+ await account.deleteCurrentSession();
134
184
  }
135
185
  finally {
136
- await options.shadowSession.deleteCurrentSession().catch(() => undefined);
137
- await clear();
186
+ clear();
138
187
  }
139
188
  },
140
189
  async logoutAll() {
141
- const current = await load();
142
190
  try {
143
- if (current) {
144
- await request({ method: 'POST', path: '/api/auth/logout-all' }, current.accessToken);
145
- }
191
+ await account.deleteAllSessions();
146
192
  }
147
193
  finally {
148
- await options.shadowSession.deleteCurrentSession().catch(() => undefined);
149
- await clear();
194
+ clear();
150
195
  }
151
196
  },
152
197
  async getCurrentUser() {
153
- const current = await load();
154
- if (!current)
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 accessToken() {
166
- return (await load())?.accessToken;
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":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
@@ -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;AA+GpB,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,CA+C9B"}
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, accessToken) {
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, accessToken) => {
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, accessToken),
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, await auth.accessToken());
141
+ return await execute(request);
143
142
  }
144
143
  catch (error) {
145
144
  if (!options.auth || !isTransportUnauthorized(error))
146
145
  throw error;
147
- await auth.restore();
148
- return execute(request, await auth.accessToken());
146
+ try {
147
+ await auth.refreshSession();
148
+ }
149
+ catch {
150
+ throw error;
151
+ }
152
+ return execute(request);
149
153
  }
150
154
  };
151
155
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
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 { createQmuseCloudClient } from './client.js';
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, CloudAuthCredentialStore, CloudAuthCredentials, CloudAuthOptions, CloudAuthSessionResult, CloudAuthUser, CloudLoginInput, CloudRegisterInput, CloudShadowSessionCapability, CloudShadowSessionToken, QmuseCloudAuth, CloudDisposableUrl, CloudFileAccessInput, CloudFileDescriptor, CloudFileList, CloudFileListInput, CloudFilePreviewInput, CloudFileRecord, CloudFileTransport, CloudFileUploadInput, CloudReadableUrlInput, CloudUploadProgress, CloudUploadReceipt, CloudUploadTarget, QmuseCloudFiles, } from './types.js';
7
- export type { AppBaseFunctionsCapability, HostAdapterOptions, PortableAppwriteCapability, PortableExecutionInput, } from './adapters.js';
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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,eAAe,CAAC;AACvB,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,wBAAwB,EACxB,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,4BAA4B,EAC5B,uBAAuB,EACvB,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,0BAA0B,EAC1B,kBAAkB,EAClB,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,eAAe,CAAC"}
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 { createQmuseCloudClient } from './client.js';
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,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
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 { CloudFileTransport } from './types.js';
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
@@ -1 +1 @@
1
- {"version":3,"file":"miniapp.d.ts","sourceRoot":"","sources":["../src/miniapp.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAuB,kBAAkB,EAA0C,MAAM,YAAY,CAAC;AAKlH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,iBAAkB,SAAQ,WAAW,CAAC,mBAAmB,CAAC;IACzE,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QACrC,cAAc,EAAE,MAAM,CAAC;QACvB,wBAAwB,EAAE,MAAM,CAAC;KAClC,KAAK,IAAI,GAAG,IAAI,CAAC;IAClB,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QAC7B,cAAc,EAAE,MAAM,CAAC;QACvB,wBAAwB,EAAE,MAAM,CAAC;KAClC,KAAK,IAAI,GAAG,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,MAAM,EAAE;YAAE,IAAI,EAAE,WAAW,GAAG,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC;QACtD,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;KAC5B,GAAG,IAAI,CAAC;IACT,SAAS,CAAC,KAAK,EAAE;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,WAAW,CAAC;QAClB,OAAO,IAAI,IAAI,CAAC;QAChB,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;KAC5B,GAAG,IAAI,CAAC;IACT,MAAM,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,IAAI,IAAI,CAAC;QAAC,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;CACxF;AAED,MAAM,WAAW,wBAAwB;IACvC,UAAU,CAAC,KAAK,EAAE;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAClC,GAAG,iBAAiB,CAAC;IACtB,oBAAoB,IAAI,iBAAiB,CAAC;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,sBAAsB,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACjE;AA0ED,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,wBAAwB,GACrC,kBAAkB,CAAC,gBAAgB,CAAC,CAgFtC"}
1
+ {"version":3,"file":"miniapp.d.ts","sourceRoot":"","sources":["../src/miniapp.ts"],"names":[],"mappings":"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"}