ibc-ai-web-sdk 2.1.0 → 2.1.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.
@@ -80,6 +80,7 @@ declare class AIChatDialog extends HTMLElement {
80
80
  close(): this;
81
81
  toggle(forceState: any): this;
82
82
  destroy(): void;
83
+ setFloatButtonVisible(show: boolean): this;
83
84
  addMessage(message: any): this;
84
85
  clearMessages(): this;
85
86
  setLoading(loading: any): this;
@@ -22,7 +22,7 @@ export declare const defaultConfig: {
22
22
  tokenRefreshBufferMs: number;
23
23
  refreshTokenFn: any;
24
24
  onTokenRefreshed: any;
25
- onTokenExpired: any;
25
+ onAuthExpired: any;
26
26
  authErrorCodes: any[];
27
27
  backgroundRefreshEnabled: boolean;
28
28
  backgroundRefreshIntervalMs: number;
@@ -57,8 +57,11 @@ export interface AIChatConfig {
57
57
  refreshTokenFn?: (context: TokenRefreshContext) => Promise<TokenRefreshResult>;
58
58
  /** Token 刷新成功回调 */
59
59
  onTokenRefreshed?: (result: TokenRefreshSuccess) => void;
60
- /** Token 刷新失败或未配置刷新函数时触发 */
61
- onTokenExpired?: (error: Error | unknown) => void;
60
+ /**
61
+ * 认证彻底失效时触发(Token 过期且刷新失败,或未配置刷新函数)。
62
+ * 应用层应在此回调中引导用户重新登录,登录成功后通过 updateConfig 传入新 Token。
63
+ */
64
+ onAuthExpired?: (context: AuthExpiredContext) => void;
62
65
  /** 额外业务未授权错误码,默认已包含 401/403/1005/S00001/ET0006/999990 */
63
66
  authErrorCodes?: Array<string | number>;
64
67
  /** 请求超时时间(毫秒),默认 60000 */
@@ -143,6 +146,16 @@ export interface AIChatClient {
143
146
  /** 更新配置 */
144
147
  updateConfig(newConfig: Partial<AIChatConfig>): void;
145
148
  }
149
+ export interface AuthExpiredContext {
150
+ /** 触发原因:'preflight' - 请求前检测到期 / 'response' - 接口返回 401 / 'authFn' - 鉴权函数失败 */
151
+ reason: string;
152
+ /** 错误描述 */
153
+ message: string;
154
+ /** 是否因未配置 refreshTokenFn 导致 */
155
+ noRefreshFn: boolean;
156
+ /** 原始错误对象 */
157
+ error?: Error | unknown;
158
+ }
146
159
  export interface TokenRefreshContext {
147
160
  token: string;
148
161
  refreshToken: string;
@@ -450,7 +463,3 @@ export declare const ERROR_CODES: {
450
463
  * 导出错误码类型
451
464
  */
452
465
  export type ErrorCode = typeof ERROR_CODES[keyof typeof ERROR_CODES];
453
- /**
454
- * 默认配置
455
- */
456
- export declare const defaultConfig: AIChatConfig;
package/package.json CHANGED
@@ -1,18 +1,15 @@
1
1
  {
2
2
  "name": "ibc-ai-web-sdk",
3
- "version": "2.1.0",
3
+ "version": "2.1.2",
4
4
  "description": "IBC AI Web SDK - 纯JavaScript实现的AI对话组件,支持任意框架(Vue/React/Angular/原生HTML)",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.esm.js",
7
7
  "browser": "dist/index.umd.js",
8
8
  "unpkg": "dist/index.umd.min.js",
9
9
  "jsdelivr": "dist/index.umd.min.js",
10
- "types": "./index.d.ts",
10
+ "types": "./dist-ts/index.d.ts",
11
11
  "sideEffects": [
12
- "./src/index.js",
13
- "./dist/index.esm.js",
14
- "./src/AIChatDialog.js",
15
- "./src/core/AIChatClient.js"
12
+ "./dist/index.esm.js"
16
13
  ],
17
14
  "exports": {
18
15
  ".": {
@@ -37,7 +34,7 @@
37
34
  "build": "tsc && rollup -c rollup.config.js",
38
35
  "typecheck": "tsc --noEmit",
39
36
  "prepublishOnly": "npm run build",
40
- "lint": "eslint src/**/*.ts",
37
+ "lint": "tsc --noEmit",
41
38
  "test": "jest"
42
39
  },
43
40
  "keywords": [