@qmuse/cloud-client 0.0.1-dev.1 → 0.0.1-dev.3

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/miniapp.d.ts CHANGED
@@ -1,4 +1,16 @@
1
- import type { CloudFileTransport } from './types.js';
1
+ import { type InitQMuseCloudClientOptions } from './singleton.js';
2
+ import type { CloudFileTransport, CloudProviderLoginInput, QmuseCloudClient } from './types.js';
3
+ export type { InitQMuseCloudClientOptions } from './singleton.js';
4
+ type TaroRuntime = typeof import('@tarojs/taro');
5
+ export interface AlipayMiniappRuntime {
6
+ getAuthCode(input: {
7
+ scopes: string[];
8
+ success(result: {
9
+ authCode?: string;
10
+ }): void;
11
+ fail(error: unknown): void;
12
+ }): void;
13
+ }
2
14
  export interface MiniappCloudFile {
3
15
  path: string;
4
16
  size: number;
@@ -56,5 +68,23 @@ export interface CloudMiniappCapabilities {
56
68
  getSessionHeaders?(): Record<string, string>;
57
69
  observeResponseHeaders?(headers: Record<string, unknown>): void;
58
70
  }
71
+ export interface MiniappSessionStorage {
72
+ getItem(key: string): string | null | undefined;
73
+ setItem(key: string, value: string): void;
74
+ removeItem(key: string): void;
75
+ }
76
+ export interface MiniappSessionBridge {
77
+ readonly storageKey: string;
78
+ getSessionHeaders(): Record<string, string>;
79
+ observeResponseHeaders(headers: Record<string, unknown>): void;
80
+ clear(): void;
81
+ }
82
+ export declare function createMiniappCredentialAcquirer(taro: Pick<TaroRuntime, 'getEnv'>, alipay?: AlipayMiniappRuntime | undefined): () => Promise<CloudProviderLoginInput>;
83
+ export declare function initQMuseCloudClient(options: InitQMuseCloudClientOptions): Promise<QmuseCloudClient<MiniappCloudFile>>;
84
+ export declare function createMiniappSessionBridge(input: {
85
+ endpoint: string;
86
+ projectId: string;
87
+ storage: MiniappSessionStorage;
88
+ }): MiniappSessionBridge;
59
89
  export declare function createMiniappFileTransport(capabilities: CloudMiniappCapabilities): CloudFileTransport<MiniappCloudFile>;
60
90
  //# 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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"}
package/dist/miniapp.js CHANGED
@@ -1,6 +1,184 @@
1
- import { QmuseCloudHttpError } from './errors.js';
1
+ import { createAppBaseAccountCapability, createPortableCloudClient, } from './adapters.js';
2
+ import { QmuseCloudError, QmuseCloudHttpError } from './errors.js';
3
+ import { initializeQMuseCloudClient, } from './singleton.js';
2
4
  const DEFAULT_CHUNK_SIZE = 5 * 1024 * 1024;
3
5
  let chunkSequence = 0;
6
+ function requestHeaders(config, session) {
7
+ return {
8
+ 'Content-Type': 'application/json',
9
+ 'X-Appwrite-Project': config.projectId,
10
+ 'X-Appwrite-Response-Format': '1.9.0',
11
+ 'X-SDK-Name': 'Taro',
12
+ 'X-SDK-Platform': 'client',
13
+ 'X-SDK-Language': 'taro',
14
+ ...session.getSessionHeaders(),
15
+ };
16
+ }
17
+ async function requestAppBase(taro, config, session, method, path, data) {
18
+ const response = await taro.request({
19
+ url: `${config.endpoint}${path}`,
20
+ method,
21
+ header: requestHeaders(config, session),
22
+ ...(data === undefined ? {} : { data }),
23
+ dataType: 'json',
24
+ });
25
+ session.observeResponseHeaders(response.header ?? response.headers ?? {});
26
+ if (response.statusCode < 200 || response.statusCode >= 300) {
27
+ const error = response.data && typeof response.data === 'object'
28
+ ? response.data
29
+ : {};
30
+ throw new QmuseCloudHttpError({
31
+ status: response.statusCode,
32
+ code: typeof error.type === 'string' ? error.type : 'APPBASE_REQUEST_FAILED',
33
+ message: typeof error.message === 'string'
34
+ ? error.message
35
+ : `AppBase request failed with status ${response.statusCode}`,
36
+ details: error,
37
+ });
38
+ }
39
+ return response.data;
40
+ }
41
+ function createMiniappCloudClient(config, taro) {
42
+ const userDataPath = taro.env.USER_DATA_PATH;
43
+ if (!userDataPath) {
44
+ throw new Error('@qmuse/cloud-client/miniapp requires Taro.env.USER_DATA_PATH');
45
+ }
46
+ const session = createMiniappSessionBridge({
47
+ endpoint: config.endpoint,
48
+ projectId: config.projectId,
49
+ storage: {
50
+ getItem: key => taro.getStorageSync(key),
51
+ setItem: (key, value) => taro.setStorageSync(key, value),
52
+ removeItem: key => taro.removeStorageSync(key),
53
+ },
54
+ });
55
+ const request = (method, path, data) => requestAppBase(taro, config, session, method, path, data);
56
+ return createPortableCloudClient({
57
+ executeFunction(input) {
58
+ const { xpath, ...payload } = input;
59
+ return request('POST', `/functions/${encodeURIComponent(config.functionId)}/executions`, { ...payload, path: xpath });
60
+ },
61
+ }, {
62
+ functionId: config.functionId,
63
+ auth: {
64
+ account: createAppBaseAccountCapability({
65
+ createSession: input => request('POST', '/account/sessions/token', input),
66
+ get: () => request('GET', '/account'),
67
+ getSession: () => request('GET', '/account/sessions/current'),
68
+ updateSession: () => request('PATCH', '/account/sessions/current'),
69
+ deleteSession: async () => {
70
+ try {
71
+ await request('DELETE', '/account/sessions/current');
72
+ }
73
+ finally {
74
+ session.clear();
75
+ }
76
+ },
77
+ deleteSessions: async () => {
78
+ try {
79
+ await request('DELETE', '/account/sessions');
80
+ }
81
+ finally {
82
+ session.clear();
83
+ }
84
+ },
85
+ }),
86
+ acquireMiniappCredential: createMiniappCredentialAcquirer(taro),
87
+ },
88
+ fileTransport: createMiniappFileTransport({
89
+ uploadFile: input => taro.uploadFile(input),
90
+ getFileSystemManager: () => taro.getFileSystemManager(),
91
+ userDataPath,
92
+ getSessionHeaders: session.getSessionHeaders,
93
+ observeResponseHeaders: session.observeResponseHeaders,
94
+ }),
95
+ });
96
+ }
97
+ function globalAlipayRuntime() {
98
+ const value = globalThis.my;
99
+ if (!value || typeof value !== 'object' || typeof value.getAuthCode !== 'function') {
100
+ return undefined;
101
+ }
102
+ return value;
103
+ }
104
+ export function createMiniappCredentialAcquirer(taro, alipay = globalAlipayRuntime()) {
105
+ return async () => {
106
+ const environment = String(taro.getEnv()).toUpperCase();
107
+ if (environment === 'WEAPP') {
108
+ throw new QmuseCloudError('WeChat login is not enabled', 'AUTH_PROVIDER_NOT_ENABLED');
109
+ }
110
+ if (environment !== 'ALIPAY') {
111
+ throw new QmuseCloudError('Mini-program login is unavailable in this environment', 'AUTH_PLATFORM_UNSUPPORTED');
112
+ }
113
+ if (!alipay) {
114
+ throw new QmuseCloudError('Alipay mini-program authorization is unavailable', 'AUTH_PLATFORM_UNSUPPORTED');
115
+ }
116
+ const authCode = await new Promise((resolve, reject) => {
117
+ alipay.getAuthCode({
118
+ scopes: ['auth_user'],
119
+ success(result) {
120
+ const code = result.authCode?.trim();
121
+ if (!code) {
122
+ reject(new QmuseCloudError('Alipay returned an invalid authorization code', 'AUTH_PROVIDER_CREDENTIAL_INVALID'));
123
+ return;
124
+ }
125
+ resolve(code);
126
+ },
127
+ fail() {
128
+ reject(new QmuseCloudError('Alipay authorization was not completed', 'AUTH_PROVIDER_CREDENTIAL_INVALID'));
129
+ },
130
+ });
131
+ });
132
+ return { provider: 'alipay', authCode };
133
+ };
134
+ }
135
+ export async function initQMuseCloudClient(options) {
136
+ const taroModule = await import('@tarojs/taro');
137
+ const taro = taroModule.default ?? taroModule;
138
+ return initializeQMuseCloudClient(options, config => createMiniappCloudClient(config, taro));
139
+ }
140
+ function sessionHeader(headers) {
141
+ for (const [name, value] of Object.entries(headers)) {
142
+ if (name.toLowerCase() !== 'x-fallback-cookies')
143
+ continue;
144
+ if (typeof value === 'string' && value)
145
+ return value;
146
+ if (Array.isArray(value) && typeof value[0] === 'string')
147
+ return value[0];
148
+ }
149
+ return undefined;
150
+ }
151
+ function endpointKey(endpoint) {
152
+ let hash = 2166136261;
153
+ for (let index = 0; index < endpoint.length; index += 1) {
154
+ hash ^= endpoint.charCodeAt(index);
155
+ hash = Math.imul(hash, 16777619);
156
+ }
157
+ return (hash >>> 0).toString(36);
158
+ }
159
+ export function createMiniappSessionBridge(input) {
160
+ const endpoint = input.endpoint?.trim();
161
+ const projectId = input.projectId?.trim();
162
+ if (!endpoint || !projectId || !input.storage) {
163
+ throw new TypeError('Mini-program Session bridge requires endpoint, projectId and storage');
164
+ }
165
+ const storageKey = `qmuse.appbase.session.${projectId}.${endpointKey(endpoint)}`;
166
+ return {
167
+ storageKey,
168
+ getSessionHeaders() {
169
+ const value = input.storage.getItem(storageKey);
170
+ return typeof value === 'string' && value ? { 'X-Fallback-Cookies': value } : {};
171
+ },
172
+ observeResponseHeaders(headers) {
173
+ const value = sessionHeader(headers);
174
+ if (value)
175
+ input.storage.setItem(storageKey, value);
176
+ },
177
+ clear() {
178
+ input.storage.removeItem(storageKey);
179
+ },
180
+ };
181
+ }
4
182
  function safeName(file, override) {
5
183
  if (override?.trim())
6
184
  return override.trim();
@@ -1 +1 @@
1
- {"version":3,"file":"miniapp.js","sourceRoot":"","sources":["../src/miniapp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"miniapp.js","sourceRoot":"","sources":["../src/miniapp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { QmuseCloudClient } from './types.js';
2
+ export interface QMuseClientConfig {
3
+ endpoint: string;
4
+ projectId: string;
5
+ functionId: string;
6
+ }
7
+ export type QMuseClientConfigSource = QMuseClientConfig | (() => QMuseClientConfig | Promise<QMuseClientConfig>);
8
+ export interface InitQMuseCloudClientOptions {
9
+ config: QMuseClientConfigSource;
10
+ }
11
+ export type QMuseClientFactory<FileSource> = (config: Readonly<QMuseClientConfig>) => QmuseCloudClient<FileSource> | Promise<QmuseCloudClient<FileSource>>;
12
+ /**
13
+ * Initializes the single QMuse client for this JavaScript runtime.
14
+ *
15
+ * Repeating initialization with the same normalized config is idempotent.
16
+ * A different config is rejected so business modules cannot silently switch
17
+ * projects or Functions after startup.
18
+ */
19
+ export declare function initializeQMuseCloudClient<FileSource>(options: InitQMuseCloudClientOptions, createClient: QMuseClientFactory<FileSource>): Promise<QmuseCloudClient<FileSource>>;
20
+ export declare function getQMuseClient<FileSource = never>(): QmuseCloudClient<FileSource>;
21
+ export declare function isQMuseClientInitialized(): boolean;
22
+ /** Internal test hook. Not exported from the package entrypoint. */
23
+ export declare function resetQMuseClientForTests(): void;
24
+ //# sourceMappingURL=singleton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"singleton.d.ts","sourceRoot":"","sources":["../src/singleton.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,uBAAuB,GAC/B,iBAAiB,GACjB,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAE3D,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,uBAAuB,CAAC;CACjC;AAED,MAAM,MAAM,kBAAkB,CAAC,UAAU,IAAI,CAC3C,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,KAChC,gBAAgB,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;AA8D1E;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAAC,UAAU,EACzD,OAAO,EAAE,2BAA2B,EACpC,YAAY,EAAE,kBAAkB,CAAC,UAAU,CAAC,GAC3C,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CA+BvC;AAED,wBAAgB,cAAc,CAAC,UAAU,GAAG,KAAK,KAAK,gBAAgB,CAAC,UAAU,CAAC,CAKjF;AAED,wBAAgB,wBAAwB,IAAI,OAAO,CAElD;AAED,oEAAoE;AACpE,wBAAgB,wBAAwB,IAAI,IAAI,CAG/C"}
@@ -0,0 +1,104 @@
1
+ let initialized;
2
+ let initializing;
3
+ function requiredString(value, name) {
4
+ if (typeof value !== 'string' || !value.trim()) {
5
+ throw new TypeError(`QMuse client config requires ${name}`);
6
+ }
7
+ return value.trim();
8
+ }
9
+ function normalizeEndpoint(value) {
10
+ const endpoint = requiredString(value, 'endpoint');
11
+ let url;
12
+ try {
13
+ url = new URL(endpoint);
14
+ }
15
+ catch {
16
+ throw new TypeError('QMuse client endpoint must be a valid HTTP(S) URL');
17
+ }
18
+ if ((url.protocol !== 'http:' && url.protocol !== 'https:') ||
19
+ url.username || url.password || url.search || url.hash) {
20
+ throw new TypeError('QMuse client endpoint must be a valid HTTP(S) URL without credentials, query, or fragment');
21
+ }
22
+ url.pathname = url.pathname.replace(/\/+$/u, '') || '/';
23
+ return url.toString().replace(/\/$/u, '');
24
+ }
25
+ function normalizeConfig(value) {
26
+ if (!value || typeof value !== 'object') {
27
+ throw new TypeError('QMuse client config is required');
28
+ }
29
+ return Object.freeze({
30
+ endpoint: normalizeEndpoint(value.endpoint),
31
+ projectId: requiredString(value.projectId, 'projectId'),
32
+ functionId: requiredString(value.functionId, 'functionId'),
33
+ });
34
+ }
35
+ function sameConfig(left, right) {
36
+ return left.endpoint === right.endpoint &&
37
+ left.projectId === right.projectId &&
38
+ left.functionId === right.functionId;
39
+ }
40
+ function assertClient(value) {
41
+ if (!value || typeof value.request !== 'function' || !value.auth || !value.files) {
42
+ throw new TypeError('QMuse client factory returned an invalid client');
43
+ }
44
+ return value;
45
+ }
46
+ async function resolveConfig(source) {
47
+ const value = typeof source === 'function' ? await source() : source;
48
+ return normalizeConfig(value);
49
+ }
50
+ /**
51
+ * Initializes the single QMuse client for this JavaScript runtime.
52
+ *
53
+ * Repeating initialization with the same normalized config is idempotent.
54
+ * A different config is rejected so business modules cannot silently switch
55
+ * projects or Functions after startup.
56
+ */
57
+ export async function initializeQMuseCloudClient(options, createClient) {
58
+ if (!options)
59
+ throw new TypeError('QMuse client initialization options are required');
60
+ if (typeof createClient !== 'function')
61
+ throw new TypeError('QMuse client factory is required');
62
+ const config = await resolveConfig(options.config);
63
+ if (initialized) {
64
+ if (!sameConfig(initialized.config, config)) {
65
+ throw new Error('QMuse client is already initialized with a different config');
66
+ }
67
+ return initialized.client;
68
+ }
69
+ if (initializing) {
70
+ const current = await initializing;
71
+ if (!sameConfig(current.config, config)) {
72
+ throw new Error('QMuse client is already initialized with a different config');
73
+ }
74
+ return current.client;
75
+ }
76
+ const pending = Promise.resolve(createClient(config)).then(client => ({
77
+ config,
78
+ client: assertClient(client),
79
+ }));
80
+ initializing = pending;
81
+ try {
82
+ initialized = await pending;
83
+ return initialized.client;
84
+ }
85
+ finally {
86
+ if (initializing === pending)
87
+ initializing = undefined;
88
+ }
89
+ }
90
+ export function getQMuseClient() {
91
+ if (!initialized) {
92
+ throw new Error('QMuse client has not been initialized');
93
+ }
94
+ return initialized.client;
95
+ }
96
+ export function isQMuseClientInitialized() {
97
+ return initialized !== undefined;
98
+ }
99
+ /** Internal test hook. Not exported from the package entrypoint. */
100
+ export function resetQMuseClientForTests() {
101
+ initialized = undefined;
102
+ initializing = undefined;
103
+ }
104
+ //# sourceMappingURL=singleton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"singleton.js","sourceRoot":"","sources":["../src/singleton.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -42,51 +42,58 @@ export interface QmuseCloudClient<FileSource = never> {
42
42
  }
43
43
  export interface CloudAuthUser {
44
44
  id: string;
45
- [key: string]: unknown;
45
+ username: string;
46
+ role: 'user' | 'admin';
46
47
  }
47
- export interface CloudAuthCredentials {
48
- accessToken: string;
49
- refreshToken: string;
50
- accessTokenExpiresAt: string;
51
- user: CloudAuthUser;
48
+ export type CloudAuthProvider = 'alipay' | 'wechat';
49
+ export interface CloudProviderLoginInput {
50
+ provider: CloudAuthProvider;
51
+ authCode: string;
52
52
  }
53
- export interface CloudShadowSessionToken {
53
+ export interface CloudSessionToken {
54
54
  userId: string;
55
55
  secret: string;
56
56
  expire: string;
57
57
  }
58
- export interface CloudAuthSessionResult {
59
- credentials: CloudAuthCredentials;
60
- shadowSession: CloudShadowSessionToken;
61
- }
62
- export interface CloudAuthCredentialStore {
63
- load(): Promise<CloudAuthCredentials | null>;
64
- save(credentials: CloudAuthCredentials): Promise<void>;
65
- clear(): Promise<void>;
58
+ export interface CloudLoginResult {
59
+ user: CloudAuthUser;
60
+ sessionToken: CloudSessionToken;
66
61
  }
67
- export interface CloudShadowSessionCapability {
62
+ export interface CloudAccountCapability {
68
63
  createSession(input: {
69
64
  userId: string;
70
65
  secret: string;
71
- }): Promise<unknown>;
66
+ }): Promise<{
67
+ expire: string;
68
+ }>;
69
+ getCurrentUser(): Promise<CloudAuthUser>;
70
+ getCurrentSession(): Promise<{
71
+ expire: string;
72
+ }>;
73
+ refreshCurrentSession(): Promise<{
74
+ expire: string;
75
+ }>;
72
76
  deleteCurrentSession(): Promise<void>;
77
+ deleteAllSessions(): Promise<void>;
73
78
  }
74
79
  export interface CloudAuthOptions {
75
- credentialStore: CloudAuthCredentialStore;
76
- shadowSession: CloudShadowSessionCapability;
80
+ account: CloudAccountCapability;
81
+ acquireMiniappCredential?: () => Promise<CloudProviderLoginInput>;
82
+ refreshBeforeMs?: number;
83
+ now?: () => number;
77
84
  }
78
85
  export interface CloudLoginInput {
79
- email: string;
86
+ username: string;
80
87
  password: string;
81
88
  }
82
- export interface CloudRegisterInput extends CloudLoginInput {
83
- name?: string;
84
- }
89
+ export type CloudRegisterInput = CloudLoginInput;
85
90
  export interface QmuseCloudAuth {
86
91
  register(input: CloudRegisterInput): Promise<CloudAuthUser>;
87
92
  login(input: CloudLoginInput): Promise<CloudAuthUser>;
88
- refresh(): Promise<CloudAuthUser>;
89
- restore(): Promise<CloudAuthUser | null>;
93
+ loginWithProvider(input: CloudProviderLoginInput): Promise<CloudAuthUser>;
94
+ loginWithMiniapp(): Promise<CloudAuthUser>;
95
+ refreshSession(): Promise<CloudAuthUser>;
96
+ restoreSession(): Promise<CloudAuthUser | null>;
90
97
  logout(): Promise<void>;
91
98
  logoutAll(): Promise<void>;
92
99
  getCurrentUser(): Promise<CloudAuthUser | null>;
@@ -153,16 +160,6 @@ export interface CloudFileUploadInput<FileSource> {
153
160
  idempotencyKey?: string;
154
161
  onProgress?: (progress: CloudUploadProgress) => void;
155
162
  }
156
- export interface CloudFileListInput {
157
- resource: string;
158
- cursor?: string;
159
- limit?: number;
160
- search?: string;
161
- }
162
- export interface CloudFileList {
163
- files: CloudFileRecord[];
164
- nextCursor: string | null;
165
- }
166
163
  export interface CloudFilePreviewInput {
167
164
  fileId: string;
168
165
  width?: number;
@@ -176,7 +173,6 @@ export interface CloudFileAccessInput {
176
173
  }
177
174
  export interface QmuseCloudFiles<FileSource> {
178
175
  upload(input: CloudFileUploadInput<FileSource>): Promise<CloudFileRecord>;
179
- list(input: CloudFileListInput): Promise<CloudFileList>;
180
176
  get(fileId: string): Promise<CloudFileRecord>;
181
177
  delete(fileId: string): Promise<void>;
182
178
  createPreview(input: CloudFilePreviewInput): Promise<CloudDisposableUrl>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEtE,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAE3E,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACxC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,CAAC,CAAC;CACT;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9D;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,iBAAiB,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAC7D,aAAa,CAAC,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,gBAAgB,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB,CAAC,UAAU,GAAG,KAAK;IAClD,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEpD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,aAAa,CAAC;IACpB,YAAY,EAAE,iBAAiB,CAAC;CACjC;AAED,MAAM,WAAW,sBAAsB;IACrC,aAAa,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtF,cAAc,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IACzC,iBAAiB,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD,qBAAqB,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrD,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,sBAAsB,CAAC;IAChC,wBAAwB,CAAC,EAAE,MAAM,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAClE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAEjD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5D,KAAK,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACtD,iBAAiB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1E,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IAC3C,cAAc,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IACzC,cAAc,IAAI,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAChD,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,cAAc,IAAI,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB,CAAC,UAAU;IAC5C,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,mBAAmB,CAAC;IAClG,MAAM,CAAC,KAAK,EAAE;QACZ,MAAM,EAAE,iBAAiB,CAAC;QAC1B,IAAI,EAAE,UAAU,CAAC;QACjB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,KAAK,IAAI,CAAC;KACtD,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAChC,iBAAiB,CAAC,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC/E;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB,CAAC,UAAU;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,KAAK,IAAI,CAAC;CACtD;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;CACpE;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC;CACvC;AAED,MAAM,WAAW,eAAe,CAAC,UAAU;IACzC,MAAM,CAAC,KAAK,EAAE,oBAAoB,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC1E,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC9C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACzE,cAAc,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC1E"}
package/dist/web.d.ts CHANGED
@@ -1,4 +1,11 @@
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';
4
+ export declare function initQMuseCloudClient(options: InitQMuseCloudClientOptions): Promise<QmuseCloudClient<Blob>>;
5
+ export declare function createWebSessionBridge(storage?: Pick<Storage, 'getItem' | 'setItem'>): {
6
+ getSessionHeaders(): Record<string, string>;
7
+ observeResponseHeaders(headers: Headers): void;
8
+ };
2
9
  export interface CloudWebCapabilities {
3
10
  fetch: typeof globalThis.fetch;
4
11
  FormData: typeof globalThis.FormData;
package/dist/web.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,kBAAkB,EAGnB,MAAM,YAAY,CAAC;AAIpB,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAC/B,QAAQ,EAAE,OAAO,UAAU,CAAC,QAAQ,CAAC;IACrC,eAAe,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC;IACrC,eAAe,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,iBAAiB,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,sBAAsB,CAAC,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACjD;AAgDD,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,oBAAoB,GACjC,kBAAkB,CAAC,IAAI,CAAC,CAmG1B"}
1
+ {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAEV,kBAAkB,EAGlB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAElE,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAsBjC;AAID,wBAAgB,sBAAsB,CACpC,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC,GAC7C;IACD,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CAChD,CAoBA;AAID,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAC/B,QAAQ,EAAE,OAAO,UAAU,CAAC,QAAQ,CAAC;IACrC,eAAe,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC;IACrC,eAAe,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,iBAAiB,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,sBAAsB,CAAC,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACjD;AAgDD,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,oBAAoB,GACjC,kBAAkB,CAAC,IAAI,CAAC,CAmG1B"}