@qmuse/cloud-client 1.0.6 → 1.0.8
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 +8 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +4 -1
- package/dist/client.js.map +1 -1
- package/dist/diagnostics.d.ts.map +1 -1
- package/dist/diagnostics.js +10 -2
- package/dist/diagnostics.js.map +1 -1
- package/docs/auth.md +2 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -198,7 +198,7 @@ bundler can remove at build time so native bundles do not include the Web SDK.
|
|
|
198
198
|
|
|
199
199
|
Only `/api` paths and an allowlist of business headers are accepted. The client
|
|
200
200
|
uses synchronous Function execution, reads `responseStatusCode`, `responseBody`,
|
|
201
|
-
and `responseHeaders`, and maps non-2xx responses to `QmuseCloudHttpError`.
|
|
201
|
+
and `responseHeaders`, and maps non-2xx responses to `QmuseCloudHttpError`. Its optional `requestId` preserves the correlation ID from a unified error body. New Hono templates return HTTP 400 for handled errors; use `error.code`, rather than status alone, for business recovery.
|
|
202
202
|
|
|
203
203
|
Ordinary requests capture the method, path, query, allowed headers and JSON body
|
|
204
204
|
when invoked, before Session preparation can yield. Later form edits do not
|
|
@@ -334,3 +334,10 @@ temporarily normalizes the public package name and registry and restores
|
|
|
334
334
|
### Public file uploads
|
|
335
335
|
|
|
336
336
|
For Hono services configured for anonymous public uploads, `files.upload({ resource: 'public-file', file })` can run without an application login. The SDK forwards the upload-specific completion credential internally. A missing credential is a protocol error; it does not trigger login or a guest Session. The file recovery API exposes the original failure through `QmuseCloudUploadError.cause` and retains its upload reference without cancelling. That reference contains a secret and must be stored privately. A lost initial anonymous intent response cannot be recovered from an idempotency key alone. Private files and avatars continue to require application identity. Login, registration, restore and refresh semantics are unchanged. Public direct uploads may be readable before completion; anonymous delete/cancel is not supported.
|
|
337
|
+
|
|
338
|
+
Unified HTTP 400 responses retain diagnostic reporting for reserved system codes:
|
|
339
|
+
`INTERNAL_ERROR`, `HTTP_ERROR`, `AUTH_PROVIDER_ERROR`, `AUTH_PROVIDER_NOT_CONFIGURED`,
|
|
340
|
+
`FUNCTION_CAPABILITY_UNAVAILABLE`, `FILE_STATE_UNAVAILABLE`, `AVATAR_URL_UNAVAILABLE`,
|
|
341
|
+
and `TOO_MANY_REQUESTS`. Other business rejections remain in the application UI.
|
|
342
|
+
Incomplete executions and transport failures retain their existing error semantics;
|
|
343
|
+
HTTP 400 alone never triggers session refresh or a retry.
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAOA,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":"AAOA,OAAO,KAAK,EAKV,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAiHpB,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,CAmF9B"}
|
package/dist/client.js
CHANGED
|
@@ -73,6 +73,7 @@ function readHttpError(status, payload) {
|
|
|
73
73
|
let code = `HTTP_${status}`;
|
|
74
74
|
let message = `Cloud API request failed with status ${status}`;
|
|
75
75
|
let details;
|
|
76
|
+
let requestId;
|
|
76
77
|
if (payload && typeof payload === 'object' && 'error' in payload) {
|
|
77
78
|
const error = payload.error;
|
|
78
79
|
if (error && typeof error === 'object') {
|
|
@@ -82,9 +83,11 @@ function readHttpError(status, payload) {
|
|
|
82
83
|
if (typeof record.message === 'string' && record.message)
|
|
83
84
|
message = record.message;
|
|
84
85
|
details = record.details;
|
|
86
|
+
if (typeof record.requestId === 'string')
|
|
87
|
+
requestId = record.requestId;
|
|
85
88
|
}
|
|
86
89
|
}
|
|
87
|
-
return new QmuseCloudHttpError({ status, code, message, details });
|
|
90
|
+
return new QmuseCloudHttpError({ status, code, message, details, ...(requestId === undefined ? {} : { requestId }) });
|
|
88
91
|
}
|
|
89
92
|
function isTransportUnauthorized(error) {
|
|
90
93
|
if (error instanceof QmuseCloudHttpError || !error || typeof error !== 'object')
|
package/dist/client.js.map
CHANGED
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAuB,uBAAuB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAuB,uBAAuB,EAAE,MAAM,YAAY,CAAC;AA0B7G,4FAA4F;AAC5F,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,QAAQ,EAAE,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;IACtD,OAAO,EAAE,YAAY,CAAC;IACtB,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,cAAc,GAAG,SAAS,CAAC;CACvC,GAAG,IAAI,CAoCP"}
|
package/dist/diagnostics.js
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
// Reserved codes emitted by the unified HTTP 400 error boundary.
|
|
2
|
+
const actionableCodes = new Set([
|
|
3
|
+
'INTERNAL_ERROR', 'HTTP_ERROR', 'AUTH_PROVIDER_ERROR', 'AUTH_PROVIDER_NOT_CONFIGURED',
|
|
4
|
+
'FUNCTION_CAPABILITY_UNAVAILABLE', 'FILE_STATE_UNAVAILABLE', 'AVATAR_URL_UNAVAILABLE', 'TOO_MANY_REQUESTS',
|
|
5
|
+
]);
|
|
1
6
|
const id = (value) => typeof value === 'string' && /^[\w.-]{1,128}$/.test(value) ? value : undefined;
|
|
2
7
|
function envelopeRequestId(body) {
|
|
3
8
|
// Error envelopes are small. Never scan arbitrary payload text or forward
|
|
@@ -34,7 +39,8 @@ export function reportRequestFailure(input) {
|
|
|
34
39
|
? rawStatus : undefined;
|
|
35
40
|
// Expected validation, login and business rejections remain in the application's UI.
|
|
36
41
|
if (status && status < 500 && ![404, 405, 408, 429].includes(status)
|
|
37
|
-
&& !(execution?.status === 'failed' && record.name !== 'QmuseCloudHttpError')
|
|
42
|
+
&& !(execution?.status === 'failed' && record.name !== 'QmuseCloudHttpError')
|
|
43
|
+
&& !(status === 400 && typeof record.code === 'string' && actionableCodes.has(record.code)))
|
|
38
44
|
return;
|
|
39
45
|
const headers = execution?.responseHeaders;
|
|
40
46
|
const requestId = Array.isArray(headers)
|
|
@@ -42,7 +48,9 @@ export function reportRequestFailure(input) {
|
|
|
42
48
|
: Object.entries(headers ?? {}).find(([key]) => key.toLowerCase() === 'x-request-id')?.[1];
|
|
43
49
|
const executionId = id(execution?.$id);
|
|
44
50
|
const deploymentId = id(execution?.deploymentId);
|
|
45
|
-
const
|
|
51
|
+
const errorRequestId = id(record.requestId);
|
|
52
|
+
const correlationId = id(requestId) ?? envelopeRequestId(execution?.responseBody)
|
|
53
|
+
?? (errorRequestId && !/^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$/.test(errorRequestId) ? errorRequestId : undefined);
|
|
46
54
|
const failure = {
|
|
47
55
|
timestamp: Date.now(), method: request.method, path: (request.path.split(/[?#]/)[0] ?? '').slice(0, 256),
|
|
48
56
|
kind: execution ? (execution.status === 'completed' ? 'http' : 'execution') : 'transport',
|
package/dist/diagnostics.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"AAEA,MAAM,EAAE,GAAG,CAAC,KAAc,EAAsB,EAAE,CAChD,OAAO,KAAK,KAAK,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAEjF,SAAS,iBAAiB,CAAC,IAAa;IACtC,0EAA0E;IAC1E,4EAA4E;IAC5E,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM;QAAE,OAAO,SAAS,CAAC;IACvE,IAAI,CAAC;QACH,MAAM,OAAO,GAAY,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,OAAO,SAAS,CAAC;QACxF,MAAM,KAAK,GAAI,OAAmC,CAAC,KAAK,CAAC;QACzD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAClF,MAAM,KAAK,GAAG,EAAE,CAAE,KAAiC,CAAC,SAAS,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,IAAI,kDAAkD,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC/F,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;AAC/B,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,oBAAoB,CAAC,KAKpC;IACC,IAAI,CAAC,KAAK,CAAC,QAAQ;QAAE,OAAO;IAC5B,IAAI,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QAC5C,MAAM,MAAM,GAAG,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAgC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1F,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY;YAAE,OAAO;QACzC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,kBAAkB,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;QACxF,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG;YAChF,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1B,qFAAqF;QACrF,IAAI,MAAM,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;eAC/D,CAAC,CAAC,SAAS,EAAE,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,qBAAqB,CAAC;YAAE,OAAO;
|
|
1
|
+
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"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"}
|
package/docs/auth.md
CHANGED
|
@@ -43,7 +43,8 @@ export const restoreAfterExternalAuth = (): Promise<CloudAuthUser | null> => aut
|
|
|
43
43
|
- 页面启动先等待 `restoreUser()`;返回用户后才加载私有数据,返回 `null` 时展示登录表单。异常应展示服务错误,不等同于未登录。
|
|
44
44
|
- `register()` 只创建账号,不建立或替换 Session。只有 `submitAuth()` 登录成功后才更新已登录状态、加载私有数据;注册成功而登录失败时,提示账号已创建并引导登录,不自动重新注册。
|
|
45
45
|
- 退出成功后清空页面用户和私有数据缓存;恢复会话为空时同样清空旧状态。
|
|
46
|
-
- 请求失败通过异常返回,私有 API
|
|
46
|
+
- 请求失败通过异常返回,私有 API 按 `UNAUTHORIZED` / `IDENTITY_BINDING_INVALID` 等身份错误码处理未登录,并兼容旧应用的 401;统一 HTTP 400 本身不触发退出。网络错误与 `INTERNAL_ERROR` 等系统错误保留服务异常语义。不记录密码或 Session,不从页面传入角色或用户 ID 代替服务端鉴权。
|
|
47
|
+
|
|
47
48
|
- 刷新 Session 或刷新后的账号读取明确返回 401/404 时,SDK 清除缓存身份与过期时间,后续请求不再因旧身份自动反复刷新。429、网络错误和5xx保留缓存身份并将原异常交给调用方,不自动重试。页面仍须在未登录时停止私有请求、保留服务异常并控制人工重试;这个处理不能替代页面请求去重或退避。
|
|
48
49
|
- 部分 AppBase 实例对原生 Session 续期返回 `400 / project_provider_unsupported`。只有此明确类型且 Session 仍在有效期内时,自动刷新才保留现有会话继续业务请求,并停止重复探测该续期能力;其他400、429与服务异常继续抛出。已知不可续期的会话到期后返回401 `AUTH_SESSION_EXPIRED`并清理缓存,要求重新登录。显式 `refreshSession()` 仍保留服务端不支持的错误,不伪造续期成功。
|
|
49
50
|
- Function 完成后,SDK按明确身份错误码 `UNAUTHORIZED`、`AUTH_REQUIRED`、`AUTH_SESSION_EXPIRED`、`IDENTITY_BINDING_INVALID` 清理该次尝试所属的缓存身份,兼容新模板的统一HTTP400及旧模板的401。保留原始状态与错误,不重放业务请求;传输层401重试后的相同拒绝也遵循此规则。旧请求的迟到拒绝不能清理后来成功建立的身份,其他业务400/401及 `INTERNAL_ERROR` 不自动清理会话。同步请求、头像和文件操作共用此规则;已完成的异步执行也按错误码清理身份,`AUTH_STATE_CHANGED` 返回 `JOB_OWNER_MISMATCH`,不重新启动任务。
|