@agentunion/fastaun-browser 0.5.14 → 0.5.15
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/CHANGELOG.md +39 -0
- package/_packed_docs/CHANGELOG.md +39 -0
- package/_packed_docs/aun/345/210/206/345/270/203/345/274/217/346/265/213/350/257/225/350/277/220/350/241/214/346/214/207/345/215/227.md +85 -4
- package/_packed_docs/aun/346/265/213/350/257/225/350/277/220/350/241/214/346/214/207/345/215/227.md +1 -1
- package/dist/bundle.js +411 -263
- package/dist/client/delivery.d.ts.map +1 -1
- package/dist/client/delivery.js +2 -4
- package/dist/client/delivery.js.map +1 -1
- package/dist/client/lifecycle.d.ts.map +1 -1
- package/dist/client/lifecycle.js +5 -1
- package/dist/client/lifecycle.js.map +1 -1
- package/dist/client/rpc-pipeline.d.ts +1 -0
- package/dist/client/rpc-pipeline.d.ts.map +1 -1
- package/dist/client/rpc-pipeline.js +10 -8
- package/dist/client/rpc-pipeline.js.map +1 -1
- package/dist/client/v2-e2ee.d.ts.map +1 -1
- package/dist/client/v2-e2ee.js +24 -13
- package/dist/client/v2-e2ee.js.map +1 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +43 -27
- package/dist/client.js.map +1 -1
- package/dist/events.d.ts +25 -12
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +164 -79
- package/dist/events.js.map +1 -1
- package/dist/group-index.js +1 -1
- package/dist/group-index.js.map +1 -1
- package/dist/logger.d.ts +9 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +29 -7
- package/dist/logger.js.map +1 -1
- package/dist/result.d.ts +1 -2
- package/dist/result.d.ts.map +1 -1
- package/dist/result.js +2 -2
- package/dist/result.js.map +1 -1
- package/dist/transport.d.ts +5 -1
- package/dist/transport.d.ts.map +1 -1
- package/dist/transport.js +57 -32
- package/dist/transport.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,45 @@
|
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
+
## 0.5.15 — 2026-09-15
|
|
10
|
+
|
|
11
|
+
### 修复
|
|
12
|
+
|
|
13
|
+
#### 协议事件与应用事件隔离
|
|
14
|
+
- 协议事件、transport observer 和断线回调使用独立 dispatcher,不再被慢速应用 handler 阻塞。
|
|
15
|
+
- 协议事件转发到应用层时深拷贝 payload,公开错误统一转换为 `{code, message}`,避免暴露内部错误对象。
|
|
16
|
+
|
|
17
|
+
#### Worker、Pull 与 V2 连接代次
|
|
18
|
+
- 浏览器 Worker/native transport 处理连接代次和旧响应,旧连接结果不会污染新连接;Worker 启动、运行中异常继续回退到原生 transport。
|
|
19
|
+
- Transport、Pull gate、ACK 和后台同步默认超时统一放宽到约 35 秒;Forward gate key 将默认 `limit=50` 纳入归一化,V2 续页使用初始 cursor 构造 gate key。
|
|
20
|
+
|
|
21
|
+
### 改进
|
|
22
|
+
|
|
23
|
+
- Transport/RPC 日志补充本端 AID、对端 AID 和入站/出站方向,并为乱序响应保留原请求上下文。
|
|
24
|
+
- 统一公开 RPC 错误信息,移除错误结果中的内部 `cause` 暴露。
|
|
25
|
+
- SDK、锁文件、运行时版本、V2 E2EE envelope `sdk_version` 和 conformance 期望统一更新为 `0.5.15`。
|
|
26
|
+
|
|
27
|
+
### 测试
|
|
28
|
+
|
|
29
|
+
- 增加协议 dispatcher、payload 隔离、错误映射、日志上下文和 transport 超时测试。
|
|
30
|
+
- 扩展 Worker/native transport、Pull gate、V2 cursor、浏览器隔离和 conformance 测试。
|
|
31
|
+
|
|
32
|
+
## 0.5.14 — 2026-09-11
|
|
33
|
+
|
|
34
|
+
### 修复
|
|
35
|
+
|
|
36
|
+
#### Pull gate watchdog 超时隔离
|
|
37
|
+
- Pull watchdog 超时只使当前 Pull job 失败,不再通过全局失效状态影响 `message.send` 等非 Pull RPC。
|
|
38
|
+
- 保留 background Pull 的全局 single-flight gate;超时但尚未真正结束的旧 Pull 继续占用 gate,后续 Pull 等待其 settle 后再执行。
|
|
39
|
+
|
|
40
|
+
### 改进
|
|
41
|
+
|
|
42
|
+
- SDK、锁文件、运行时版本、V2 E2EE envelope `sdk_version` 和 conformance 期望统一更新为 `0.5.14`。
|
|
43
|
+
|
|
44
|
+
### 测试
|
|
45
|
+
|
|
46
|
+
- 增加 Pull 超时隔离、非 Pull RPC 投递和全局 single-flight gate 保持的单元测试。
|
|
47
|
+
|
|
9
48
|
## 0.5.13 — 2026-09-08
|
|
10
49
|
|
|
11
50
|
### 修复
|
|
@@ -6,6 +6,45 @@
|
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
+
## 0.5.15 — 2026-09-15
|
|
10
|
+
|
|
11
|
+
### 修复
|
|
12
|
+
|
|
13
|
+
#### 协议事件与应用事件隔离
|
|
14
|
+
- 协议事件、transport observer 和断线回调使用独立 dispatcher,不再被慢速应用 handler 阻塞。
|
|
15
|
+
- 协议事件转发到应用层时深拷贝 payload,公开错误统一转换为 `{code, message}`,避免暴露内部错误对象。
|
|
16
|
+
|
|
17
|
+
#### Worker、Pull 与 V2 连接代次
|
|
18
|
+
- 浏览器 Worker/native transport 处理连接代次和旧响应,旧连接结果不会污染新连接;Worker 启动、运行中异常继续回退到原生 transport。
|
|
19
|
+
- Transport、Pull gate、ACK 和后台同步默认超时统一放宽到约 35 秒;Forward gate key 将默认 `limit=50` 纳入归一化,V2 续页使用初始 cursor 构造 gate key。
|
|
20
|
+
|
|
21
|
+
### 改进
|
|
22
|
+
|
|
23
|
+
- Transport/RPC 日志补充本端 AID、对端 AID 和入站/出站方向,并为乱序响应保留原请求上下文。
|
|
24
|
+
- 统一公开 RPC 错误信息,移除错误结果中的内部 `cause` 暴露。
|
|
25
|
+
- SDK、锁文件、运行时版本、V2 E2EE envelope `sdk_version` 和 conformance 期望统一更新为 `0.5.15`。
|
|
26
|
+
|
|
27
|
+
### 测试
|
|
28
|
+
|
|
29
|
+
- 增加协议 dispatcher、payload 隔离、错误映射、日志上下文和 transport 超时测试。
|
|
30
|
+
- 扩展 Worker/native transport、Pull gate、V2 cursor、浏览器隔离和 conformance 测试。
|
|
31
|
+
|
|
32
|
+
## 0.5.14 — 2026-09-11
|
|
33
|
+
|
|
34
|
+
### 修复
|
|
35
|
+
|
|
36
|
+
#### Pull gate watchdog 超时隔离
|
|
37
|
+
- Pull watchdog 超时只使当前 Pull job 失败,不再通过全局失效状态影响 `message.send` 等非 Pull RPC。
|
|
38
|
+
- 保留 background Pull 的全局 single-flight gate;超时但尚未真正结束的旧 Pull 继续占用 gate,后续 Pull 等待其 settle 后再执行。
|
|
39
|
+
|
|
40
|
+
### 改进
|
|
41
|
+
|
|
42
|
+
- SDK、锁文件、运行时版本、V2 E2EE envelope `sdk_version` 和 conformance 期望统一更新为 `0.5.14`。
|
|
43
|
+
|
|
44
|
+
### 测试
|
|
45
|
+
|
|
46
|
+
- 增加 Pull 超时隔离、非 Pull RPC 投递和全局 single-flight gate 保持的单元测试。
|
|
47
|
+
|
|
9
48
|
## 0.5.13 — 2026-09-08
|
|
10
49
|
|
|
11
50
|
### 修复
|
|
@@ -700,6 +700,56 @@ foreach ($phase in $phases) {
|
|
|
700
700
|
}
|
|
701
701
|
```
|
|
702
702
|
|
|
703
|
+
TS 与浏览器 JS federation 用例使用已准备好的 `kite-ts-tester`、`kite-js-tester`,先启动容器并接入两域共享业务网络。容器不存在或依赖未准备时停止,不要在业务测试阶段执行 `up`、`--force-recreate` 或安装依赖:
|
|
704
|
+
|
|
705
|
+
```powershell
|
|
706
|
+
cd D:\modelunion\kite\docker-deploy
|
|
707
|
+
docker compose --env-file agentid.pub/local.env --project-directory . `
|
|
708
|
+
-f docker-compose.testers.yml start ts-sdk-tester js-sdk-tester
|
|
709
|
+
docker network connect kite-agentid-federation-net kite-ts-tester 2>$null
|
|
710
|
+
docker network connect kite-agentid-federation-net kite-js-tester 2>$null
|
|
711
|
+
```
|
|
712
|
+
|
|
713
|
+
TS 用例必须逐文件执行,失败立即停止;从失败文件续跑时,只保留该文件及后续尚未执行的文件:
|
|
714
|
+
|
|
715
|
+
```powershell
|
|
716
|
+
$tsCases = @(
|
|
717
|
+
'federation.test.ts',
|
|
718
|
+
'federation-storage.test.ts',
|
|
719
|
+
'federation-v2-thought.test.ts',
|
|
720
|
+
'federation-notify.test.ts',
|
|
721
|
+
'federation-service-proxy.test.ts'
|
|
722
|
+
)
|
|
723
|
+
foreach ($case in $tsCases) {
|
|
724
|
+
docker exec -e AUN_TEST_ISSUER_A=agentid.pub -e AUN_TEST_ISSUER_B=agentid.cn `
|
|
725
|
+
-e AUN_VERIFY_SSL=0 -w /workspace/ts kite-ts-tester bash -lc `
|
|
726
|
+
"node_modules/.bin/vitest run tests/integration/$case --no-file-parallelism --maxWorkers=1 --reporter=verbose"
|
|
727
|
+
if ($LASTEXITCODE -ne 0) { throw "TS federation 失败: $case" }
|
|
728
|
+
}
|
|
729
|
+
```
|
|
730
|
+
|
|
731
|
+
`federation-reconnect.test.ts` 需要按本指南的 Gateway 重启与 marker 协调流程单独运行,不并入上述无重启序列。隔离 federation 运行同一批 TS 用例时,必须显式传入 `AUN_TEST_ISSUER_A=dist-aid.com`、`AUN_TEST_ISSUER_B=dist-aid.net`,避免使用真实域默认值。
|
|
732
|
+
|
|
733
|
+
浏览器 JS federation 必须使用 Playwright,按文件串行执行。先构建一次,再分别运行 `federation.spec.ts` 与 `notify.spec.ts`;`AUN_TEST_DISABLE_LOCAL_DOCKER_PIN=1` 使浏览器使用共享 Docker DNS,不把域名 pin 到宿主机回环地址:
|
|
734
|
+
|
|
735
|
+
```powershell
|
|
736
|
+
docker exec -e AUN_TEST_ISSUER_A=agentid.pub -e AUN_TEST_ISSUER_B=agentid.cn `
|
|
737
|
+
-e AUN_TEST_DISABLE_LOCAL_DOCKER_PIN=1 -e AUN_VERIFY_SSL=0 `
|
|
738
|
+
-w /workspace/js kite-js-tester bash -lc "npm run build"
|
|
739
|
+
if ($LASTEXITCODE -ne 0) { throw 'JS federation 构建失败' }
|
|
740
|
+
|
|
741
|
+
$jsCases = @('federation.spec.ts', 'notify.spec.ts')
|
|
742
|
+
foreach ($case in $jsCases) {
|
|
743
|
+
docker exec -e AUN_TEST_ISSUER_A=agentid.pub -e AUN_TEST_ISSUER_B=agentid.cn `
|
|
744
|
+
-e AUN_TEST_DISABLE_LOCAL_DOCKER_PIN=1 -e AUN_VERIFY_SSL=0 `
|
|
745
|
+
-w /workspace/js kite-js-tester bash -lc `
|
|
746
|
+
"node_modules/.bin/playwright test --config=playwright.agentid-local.config.ts tests/e2e-browser/$case --reporter=line"
|
|
747
|
+
if ($LASTEXITCODE -ne 0) { throw "JS Playwright federation 失败: $case" }
|
|
748
|
+
}
|
|
749
|
+
```
|
|
750
|
+
|
|
751
|
+
失败后不得重复已通过文件;如果只需重跑 Notify,可将 `$jsCases` 改为 `@('notify.spec.ts')`。隔离 federation 运行时将两处 `agentid.pub/agentid.cn` 同时替换为 `dist-aid.com/dist-aid.net`。
|
|
752
|
+
|
|
703
753
|
除 `federation-boundary` 外,runner 在进入业务阶段前会用全新的运行目录分别完成两域固定身份登录。`auth.aid_login1` 必须依次通过 CA 的 `verify_chain`、`get_cert` 和 `ocsp_query` 数据库查询,因此登录成功就是 CA/Auth 数据库调用链可用的证据;日志必须先出现两条 `DOMAIN_READY ... evidence=aid_login`。`ca.status` 属于域内诊断 RPC,普通 AID 被 Gateway 拒绝是正确权限边界,不得为了预检放宽。任一域登录失败时,runner 会汇总两域结果并在业务 RPC 前停止;此时应先检查对应 MySQL 容器状态和 CA/Auth 重连日志,不能把 `ca.verify_chain: database not connected` 归因于联邦身份边界。
|
|
704
754
|
|
|
705
755
|
若 MySQL 日志出现 `Trying to access page ... outside the tablespace bounds`、`Server exits` 或 InnoDB assertion failure,只能判定运行中的 InnoDB 已访问非法页并退出,不能仅凭页越界日志判定磁盘数据文件已经物理损坏。立即停止后续业务阶段,保留原容器、挂载、完整错误日志和冷态只读副本;不得通过清库、删除表、替换固定 AID 材料或运行 `setup_aids.py` 掩盖现场。
|
|
@@ -984,7 +1034,7 @@ docker exec main-dist-client-a python /test/cross_domain_service_proxy.py
|
|
|
984
1034
|
- reconnect 相关测试
|
|
985
1035
|
- `e2e_real.py`、`e2e_comprehensive.py`、`e2e_coverage_gaps.py` 这类仍依赖宿主机 Docker 协调并可能硬编码旧容器名的脚本
|
|
986
1036
|
|
|
987
|
-
### TypeScript / Go federation
|
|
1037
|
+
### TypeScript / Go federation(dist-aid.com / dist-aid.net)
|
|
988
1038
|
|
|
989
1039
|
先复用已有 Tester,不得在断网阶段通过 `up` 或 `--force-recreate` 新建:
|
|
990
1040
|
|
|
@@ -996,12 +1046,43 @@ if ($missing) { throw "Federation Tester 尚未完成离线依赖准备,停止
|
|
|
996
1046
|
docker compose --env-file ../.env.distributed -f docker-compose.yml start ts-tester go-tester
|
|
997
1047
|
```
|
|
998
1048
|
|
|
1049
|
+
TS federation 按文件串行执行;失败后只保留失败文件及其后的未执行文件。隔离环境必须显式覆盖所有运行时域名变量,避免 TS 默认回到 `agentid.pub/agentid.cn`:
|
|
1050
|
+
|
|
999
1051
|
```powershell
|
|
1000
|
-
|
|
1052
|
+
$tsCases = @(
|
|
1053
|
+
'federation.test.ts',
|
|
1054
|
+
'federation-storage.test.ts',
|
|
1055
|
+
'federation-v2-thought.test.ts',
|
|
1056
|
+
'federation-notify.test.ts',
|
|
1057
|
+
'federation-service-proxy.test.ts'
|
|
1058
|
+
)
|
|
1059
|
+
foreach ($case in $tsCases) {
|
|
1060
|
+
docker exec `
|
|
1061
|
+
-e AUN_TEST_ISSUER=dist-aid.com `
|
|
1062
|
+
-e AUN_TEST_ISSUER_A=dist-aid.com `
|
|
1063
|
+
-e AUN_TEST_ISSUER_B=dist-aid.net `
|
|
1064
|
+
-e LOCAL_ISSUER=dist-aid.com `
|
|
1065
|
+
-e REMOTE_ISSUER=dist-aid.net `
|
|
1066
|
+
-e AUN_VERIFY_SSL=0 `
|
|
1067
|
+
-w /workspace/ts main-dist-federation-ts-tester bash -lc `
|
|
1068
|
+
"node_modules/.bin/vitest run tests/integration/$case --no-file-parallelism --maxWorkers=1 --reporter=verbose"
|
|
1069
|
+
if ($LASTEXITCODE -ne 0) { throw "TS federation 失败: $case" }
|
|
1070
|
+
}
|
|
1001
1071
|
```
|
|
1002
1072
|
|
|
1073
|
+
`federation-reconnect.test.ts` 需要按 Gateway 重启与 marker 协调流程单独运行,不并入上述无重启序列。
|
|
1074
|
+
|
|
1075
|
+
Go federation 显式覆盖同样的 issuer 变量;Service Proxy 用例还需覆盖 `LOCAL_ISSUER/REMOTE_ISSUER`:
|
|
1076
|
+
|
|
1003
1077
|
```powershell
|
|
1004
|
-
docker exec
|
|
1078
|
+
docker exec `
|
|
1079
|
+
-e AUN_TEST_ISSUER_A=dist-aid.com `
|
|
1080
|
+
-e AUN_TEST_ISSUER_B=dist-aid.net `
|
|
1081
|
+
-e LOCAL_ISSUER=dist-aid.com `
|
|
1082
|
+
-e REMOTE_ISSUER=dist-aid.net `
|
|
1083
|
+
-e AUN_VERIFY_SSL=0 `
|
|
1084
|
+
main-dist-federation-go-tester sh -lc `
|
|
1085
|
+
"cd /workspace/go && /usr/local/go/bin/go test -tags integration . -run Federation -count=1 -v"
|
|
1005
1086
|
```
|
|
1006
1087
|
|
|
1007
1088
|
如果用临时 Go 容器,需要加入分布式 federation 网络:
|
|
@@ -1066,7 +1147,7 @@ cd D:\modelunion\kite\docker-deploy
|
|
|
1066
1147
|
docker compose --env-file NUL -f docker-compose.yml up -d
|
|
1067
1148
|
```
|
|
1068
1149
|
|
|
1069
|
-
这一路径必须继续保持默认单实例值,不使用 `dist-*` 域名,不使用 `data-dist`,也不使用 `kite-dist-*`
|
|
1150
|
+
这一路径必须继续保持默认单实例值,不使用 `dist-*` 域名,不使用 `data-dist`,也不使用 `kite-dist-*` 容器名。默认单实例测试按主指南执行;本地真实域名双域按本指南 `agentid.pub/agentid.cn` 专节执行;隔离 federation 双域仅按 `dist-aid.com/dist-aid.net` 专节执行。两套双域的 CA、固定身份、数据根、Compose project、Tester 和日志不得混用。
|
|
1070
1151
|
|
|
1071
1152
|
如果目标是证明“同一批非 reconnect / 非 mail 用例可在分布式控制 master 上通过”,使用本指南的 `dist-agentid.pub` 和临时测试容器命令。
|
|
1072
1153
|
|
package/_packed_docs/aun/346/265/213/350/257/225/350/277/220/350/241/214/346/214/207/345/215/227.md
CHANGED
|
@@ -120,7 +120,7 @@ Docker Desktop 可能把 Windows bind source 返回为 `/run/desktop/mnt/host/<
|
|
|
120
120
|
| Python | `kite-python-sdk-tester` 容器内 `/tests/*.py` | 见分布式指南的 `main-dist-client-a` / `main-dist-client-b` | Docker 测试容器为主,少数 reconnect 脚本在宿主机 |
|
|
121
121
|
| TypeScript | `kite-ts-tester` 容器内 `tests/integration`、`tests/e2e` | 见分布式指南的 `main-dist-federation-ts-tester` | Docker 测试容器为主,reconnect 由宿主机协调 |
|
|
122
122
|
| Go | `kite-go-tester` 容器或临时 `golang:1.24-bookworm` 容器 | 见分布式指南的 `main-dist-federation-go-tester` | Docker 网络内运行,reconnect 由宿主机 marker 协调 |
|
|
123
|
-
| JavaScript | `kite-js-tester` 容器内运行 Vitest 或 Playwright `tests/e2e-browser` |
|
|
123
|
+
| JavaScript | `kite-js-tester` 容器内运行 Vitest 或 Playwright `tests/e2e-browser` | 见分布式指南的真实域名双域 Playwright 入口 | 默认单实例优先使用带 Chrome 的 Docker Tester;宿主机 Playwright 可作为备选 |
|
|
124
124
|
|
|
125
125
|
JS 的真实 E2E 统一使用 `js/tests/e2e-browser`,不要把浏览器 E2E 混入 `tests/integration`。`kite-js-tester` 已提供 Linux Chrome;宿主机运行时仍使用 `playwright.agentid-local.config.ts`。
|
|
126
126
|
|