@xmaxai/sdk 1.0.1 → 1.0.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.
Files changed (38) hide show
  1. package/CHANGELOG.md +11 -2
  2. package/README.md +19 -5
  3. package/dist/{chunk-LCPC56BK.js → chunk-B5EAQTBY.js} +497 -136
  4. package/dist/chunk-B5EAQTBY.js.map +1 -0
  5. package/dist/{chunk-V4NR6CPP.js → chunk-ZMLV7YQP.js} +24 -184
  6. package/dist/chunk-ZMLV7YQP.js.map +1 -0
  7. package/dist/index.cjs +53 -273
  8. package/dist/index.cjs.map +1 -1
  9. package/dist/index.d.cts +380 -8
  10. package/dist/index.d.ts +380 -8
  11. package/dist/index.js +1004 -9
  12. package/dist/index.js.map +1 -1
  13. package/dist/react/index.cjs +30 -271
  14. package/dist/react/index.cjs.map +1 -1
  15. package/dist/react/index.d.cts +1 -3
  16. package/dist/react/index.d.ts +1 -3
  17. package/dist/react/index.js +6 -26
  18. package/dist/react/index.js.map +1 -1
  19. package/dist/{rtc-manager-gYDkADGw.d.ts → rtc-manager-Bk2lIJ0d.d.cts} +7 -17
  20. package/dist/{rtc-manager-gYDkADGw.d.cts → rtc-manager-Bk2lIJ0d.d.ts} +7 -17
  21. package/dist/video-file-stream-OVPBV7IX.js +3 -0
  22. package/dist/{video-file-stream-K7GQMIJ5.js.map → video-file-stream-OVPBV7IX.js.map} +1 -1
  23. package/package.json +1 -6
  24. package/dist/chunk-4YHBCQ2C.js +0 -432
  25. package/dist/chunk-4YHBCQ2C.js.map +0 -1
  26. package/dist/chunk-LCPC56BK.js.map +0 -1
  27. package/dist/chunk-V4NR6CPP.js.map +0 -1
  28. package/dist/chunk-VLJZ56PT.js +0 -997
  29. package/dist/chunk-VLJZ56PT.js.map +0 -1
  30. package/dist/experimental/index.cjs +0 -3897
  31. package/dist/experimental/index.cjs.map +0 -1
  32. package/dist/experimental/index.d.cts +0 -2
  33. package/dist/experimental/index.d.ts +0 -2
  34. package/dist/experimental/index.js +0 -5
  35. package/dist/experimental/index.js.map +0 -1
  36. package/dist/index-Cw8C8LbO.d.ts +0 -367
  37. package/dist/index-Dg1ElHAj.d.cts +0 -367
  38. package/dist/video-file-stream-K7GQMIJ5.js +0 -4
package/CHANGELOG.md CHANGED
@@ -9,16 +9,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
9
9
 
10
10
  ### Added
11
11
 
12
+ - `client.files.uploadAndCheckImage(file)` — upload then Playground-style `/cos/image/check`, returns checked URL; existing `uploadImage` unchanged.
12
13
  - 双区域发布:同一套源码构建出 `@xmaxai/sdk`(国内,默认 `https://cloud.xmax.22duck.cn/open/api/v1`)与 `@xmaxai/sdk-global`(海外,默认 `https://api.xmax.cloud/open/api/v1`)。
13
14
  - 构建时区域开关 `XMAX_SDK_REGION`(`cn` | `global`),经 tsup 内联注入默认 `baseUrl`。
14
15
  - `XMAX_OPEN_API_BASE_URLS` 常量与 `XmaxSdkRegion` 类型。
15
16
  - `build:cn` / `build:global` / `publish:cn` / `publish:global` / `publish:all` 脚本及 `scripts/publish-sdk.mjs`。
17
+ - `connect` 支持可选的 `onError` / `onDisconnect`(与 Decart Overview 对齐;不传则行为与原先一致)。
16
18
 
17
19
  ### Changed
18
20
 
19
21
  - `XMAX_OPEN_API_PRODUCTION_BASE_URL` 现按构建区域解析(默认 `cn`),不再硬编码单一地址。
22
+ - **根入口正式对外**:`createXmaxClient` / `models` 等从 `@xmaxai/sdk`(或 `@xmaxai/sdk-global`)直接导入,不再标 `@deprecated`。
23
+ - 移除 `@xmaxai/sdk/experimental` 子路径(发版前无外部依赖);Realtime API 仅通过根入口导出。
24
+ - 错误通过 `onError` 通知调用方处理。
20
25
 
21
- ## [1.0.1 ] - 2026-07-01
26
+ ### Removed
27
+
28
+ - Package export `./experimental` and `src/experimental` barrel.
29
+ - Deprecated aliases and no-ops: `mirrorInput`, `setMode` / `RealtimeSetModeOptions`, `preserveLocalInput`, `getContentRect`, `RTC_PUBLISH_FPS`, `waitForRtcOutboundBeforeStart`, `waitForPublishedInputFramesBeforeStart`, React `changeModel`.
30
+
31
+ ## [1.0.3 ] - 2026-07-01
22
32
 
23
33
  ### Added
24
34
 
@@ -26,7 +36,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
26
36
  - `XMAX_OPEN_API_PRODUCTION_BASE_URL` constant for explicit production API endpoint configuration.
27
37
  - `@xmaxai/sdk/experimental` subpath for `createXmaxClient`, drag, and related APIs.
28
38
  - Unit tests for RTC event builders, video size utilities, and HTTP client request handling.
29
- - Inline SVG icons for built-in error toasts (no host static assets required).
30
39
 
31
40
  ### Changed
32
41
 
package/README.md CHANGED
@@ -28,8 +28,8 @@ npm install @xmaxai/sdk-global
28
28
 
29
29
  | 入口 | 说明 |
30
30
  |------|------|
31
- | `@xmaxai/sdk/experimental` | **推荐** — `createXmaxClient`、`models` |
32
- | `@xmaxai/sdk` | HTTP Client、`RtcManager`、房间事件等底层 API |
31
+ | `@xmaxai/sdk` | **推荐** — `createXmaxClient`、`models`,以及 HTTP Client / RTC 底层 API |
32
+ | `@xmaxai/sdk/react` | React bindings(可选) |
33
33
 
34
34
  ## 快速开始
35
35
 
@@ -38,7 +38,7 @@ npm install @xmaxai/sdk-global
38
38
  `baseUrl` 已内置生产环境默认值,一般无需传入;仅在 staging / 私有部署时覆盖。
39
39
 
40
40
  ```ts
41
- import { createXmaxClient, models } from "@xmaxai/sdk/experimental";
41
+ import { createXmaxClient, models } from "@xmaxai/sdk";
42
42
 
43
43
  const model = models.realtime("x2.0");
44
44
 
@@ -78,13 +78,24 @@ await realtimeClient.stop();
78
78
  await realtimeClient.disconnect();
79
79
  ```
80
80
 
81
+ ### 上传参考图并健康检查(可选)
82
+
83
+ 与 Playground 加参考图相同:先 COS 上传,再 `POST /cos/image/check`。
84
+ 现有 `client.files.uploadImage` **只上传、不做检查**;需要检查时:
85
+
86
+ ```ts
87
+ const url = await client.files.uploadAndCheckImage(file);
88
+ await realtimeClient.set({ image: url });
89
+ ```
90
+
81
91
  ### 流程说明
82
92
 
83
93
  - `createXmaxClient({ apiKey })` 即可,`baseUrl` 默认指向官方生产 Open API。
84
94
  - `connect()` 自动完成:createSession → heartbeat → join RTC → 推流 →(`autoStart: true` 时)发送 start。
85
95
  - `initialState.prompt` 传 `{ text: string }`;`initialState.image` 传参考图 URL。
86
96
  - 宿主自行提供 `#video-input` / `#video-output` 容器元素。
87
- - 未传 `onError` 时,API/RTC 错误会弹出内置 toast;传入 `onError` 则完全覆盖。
97
+ - API/RTC 错误通过 `onError` 回调交给调用方处理。在 `createXmaxClient` `connect` 任一处传入即可(`connect` 优先)。
98
+ - `onDisconnect` 仅在 session 成功建立后断开时触发;`connect()` 失败不会回调。
88
99
 
89
100
  ### 自定义 baseUrl(可选)
90
101
 
@@ -92,7 +103,7 @@ await realtimeClient.disconnect();
92
103
  import {
93
104
  createXmaxClient,
94
105
  XMAX_OPEN_API_PRODUCTION_BASE_URL,
95
- } from "@xmaxai/sdk/experimental";
106
+ } from "@xmaxai/sdk";
96
107
 
97
108
  const client = createXmaxClient({
98
109
  apiKey: "<YOUR_XMAX_API_KEY>",
@@ -124,6 +135,9 @@ client.realtime.connect(stream, {
124
135
  model: RealtimeModel, // models.realtime("x2.0")
125
136
  localElement?: HTMLElement,
126
137
  remoteElement?: HTMLElement,
138
+ onRemoteStream?: (stream: MediaStream) => void,
139
+ onError?: (message, error?) => void, // optional; overrides createXmaxClient.onError
140
+ onDisconnect?: (reason) => void, // "client" | "session_inactive" | "heartbeat_error"
127
141
  mirror?: "auto" | boolean,
128
142
  initialState?: {
129
143
  prompt?: string | { text: string },