@agentunion/fastaun 0.5.34 → 0.5.35
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 +30 -1
- package/_packed_docs/CHANGELOG.md +30 -1
- package/_packed_docs/INDEX.md +11 -11
- package/_packed_docs/KITE_DOCS_GUIDE.md +9 -9
- package/_packed_docs/agent.md/SCHEMA.md +1 -1
- package/_packed_docs/aun/346/265/213/350/257/225/350/277/220/350/241/214/346/214/207/345/215/227.md +2 -2
- package/_packed_docs/protocol/Ownership/345/215/217/350/256/256/345/256/232/344/271/2112.1.md +17 -17
- package/_packed_docs/protocol/echo-probe-gateway.md +99 -0
- package/_packed_docs/protocol/echo-probe-sdk.md +91 -0
- package/_packed_docs/sdk/0.5.35-SDK/345/272/224/347/224/250/351/233/206/346/210/220/346/214/207/345/215/227.md +189 -0
- package/_packed_docs/sdk/0.5.35-SDK/345/274/200/345/217/221/344/270/216/347/247/273/346/244/215/346/214/207/345/215/227.md +204 -0
- package/_packed_docs/sdk/04-/350/277/236/346/216/245/344/270/216/350/256/244/350/257/201.md +2 -2
- package/_packed_docs/sdk/06-API/346/211/213/345/206/214.md +32 -6
- package/_packed_docs/sdk/09-group-rpc-manual.md +7 -7
- package/_packed_docs/sdk/AUN_DOCS_GUIDE.md +13 -13
- package/_packed_docs/sdk/AUN/344/272/213/344/273/266/345/217/221/345/270/203/350/256/242/351/230/205/345/272/224/347/224/250/351/233/206/346/210/220/346/214/207/345/215/227.md +73 -3
- package/_packed_docs/sdk/AUN/344/272/213/344/273/266/345/217/221/345/270/203/350/256/242/351/230/205/345/274/200/345/217/221/347/247/273/346/244/215/346/214/207/345/215/227.md +50 -8
- package/_packed_docs/sdk/INDEX.md +18 -18
- package/_packed_docs/sdk/Ownership-SDK/347/274/226/346/216/222/346/214/207/345/215/2272.1.md +1 -1
- package/_packed_docs/sdk/Ownership2.1-SDK/345/272/224/347/224/250/351/233/206/346/210/220/346/214/207/345/215/227.md +5 -5
- package/_packed_docs/sdk/Ownership2.1-SDK/345/274/200/345/217/221/344/270/216/347/247/273/346/244/215/346/214/207/345/215/227.md +5 -5
- package/_packed_docs/sdk/Ownership2.1/350/257/246/347/273/206/350/256/276/350/256/241.md +9 -9
- package/_packed_docs//346/266/210/346/201/257/345/274/271/346/200/247/350/241/245/346/213/211/351/200/232/351/201/223/345/256/236/346/226/275/350/256/241/345/210/222.md +400 -0
- package/_packed_docs//346/266/210/346/201/257/345/274/271/346/200/247/350/241/245/346/213/211/351/200/232/351/201/223/346/226/271/346/241/210.md +485 -0
- package/dist/auth.js +31 -43
- package/dist/auth.js.map +1 -1
- package/dist/client/delivery.d.ts +7 -1
- package/dist/client/delivery.js +137 -16
- package/dist/client/delivery.js.map +1 -1
- package/dist/client/lifecycle.js +10 -1
- package/dist/client/lifecycle.js.map +1 -1
- package/dist/client/rpc-pipeline.d.ts +2 -0
- package/dist/client/rpc-pipeline.js +65 -7
- package/dist/client/rpc-pipeline.js.map +1 -1
- package/dist/client/sync-channels.d.ts +2 -1
- package/dist/client/sync-channels.js +33 -14
- package/dist/client/sync-channels.js.map +1 -1
- package/dist/client/v2-e2ee.d.ts +1 -0
- package/dist/client/v2-e2ee.js +19 -5
- package/dist/client/v2-e2ee.js.map +1 -1
- package/dist/client.d.ts +15 -0
- package/dist/client.js +310 -49
- package/dist/client.js.map +1 -1
- package/dist/events.d.ts +1 -0
- package/dist/events.js +5 -0
- package/dist/events.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/mail-client.d.ts +101 -0
- package/dist/mail-client.js +369 -0
- package/dist/mail-client.js.map +1 -0
- package/dist/pubsub/binding.js +9 -2
- package/dist/pubsub/binding.js.map +1 -1
- package/dist/pubsub/channel.d.ts +11 -3
- package/dist/pubsub/channel.js +88 -7
- package/dist/pubsub/channel.js.map +1 -1
- package/dist/pubsub/client.d.ts +8 -2
- package/dist/pubsub/client.js +59 -17
- package/dist/pubsub/client.js.map +1 -1
- package/dist/pubsub/index.d.ts +2 -2
- package/dist/pubsub/index.js +1 -1
- package/dist/pubsub/index.js.map +1 -1
- package/dist/pubsub/service.d.ts +6 -0
- package/dist/pubsub/service.js +100 -9
- package/dist/pubsub/service.js.map +1 -1
- package/dist/pubsub/types.d.ts +11 -1
- package/dist/tools/cross-sdk-agent.d.ts +1 -1
- package/dist/transport.d.ts +4 -0
- package/dist/transport.js +39 -2
- package/dist/transport.js.map +1 -1
- package/dist/udp-standby.d.ts +89 -0
- package/dist/udp-standby.js +487 -0
- package/dist/udp-standby.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +5 -1
- package/scripts/patch-imapflow-external.mjs +69 -0
package/CHANGELOG.md
CHANGED
|
@@ -6,7 +6,36 @@
|
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
## 0.5.
|
|
9
|
+
## 0.5.35 — 2026-11-12
|
|
10
|
+
|
|
11
|
+
对照已发布的 `0.5.34`,包含发布后的已提交变更及当前工作区增量;比较基线和四端实现边界见 [parity 0.5.35](../python/CHANGES_FOR_PARITY.md#v0535)。
|
|
12
|
+
|
|
13
|
+
### EventService 订阅与本地收发
|
|
14
|
+
|
|
15
|
+
- `subscribe`/`unsubscribe` 支持点分层 `*` 通配事件名;按当前目录和授权展开,不支持 `**` 或自动匹配未来新增事件。
|
|
16
|
+
- `subscribe(busAid, events, options)` 新增 `publisherAids`、`publisherTypes`、`publisherExttypes`;线上字段为 snake_case,同字段内任一匹配、不同字段同时满足,类型取自验签通过的发布者名片。
|
|
17
|
+
- 过滤条件随 SQLite 订阅状态持久化及恢复;订阅条件变化时淘汰队列中属于旧订阅代次的事件。同一 Client、Bus AID 和 device/slot 可在进程内收发,保留授权、租约、TTL、容量及去重边界。
|
|
18
|
+
|
|
19
|
+
### 消息同步与 Echo
|
|
20
|
+
|
|
21
|
+
- 后台 Pull 提交后异步合并累计 ACK,失败重试、更新发送参数并隔离身份/连接/namespace 代际;前台 Pull 继续等待 ACK,关闭时有限等待后台确认。
|
|
22
|
+
- 减少已被在线交付覆盖的重复 Pull/ACK;历史同步移除 `history_bytes_per_second` 主动节流,保留并发、页字节、在途内存和背压限制,辅助连接创建/退役时更新需求通知。
|
|
23
|
+
- 连接成功后的自动补拉和组织身份恢复随机延后 30–60 秒,执行前复核当前身份和连接,关闭或切换身份时取消旧任务。
|
|
24
|
+
- 对齐 Echo v3.2 三前缀、强制明文、单一递减 `hop`、完整 trace 和真实耗时;提前返程通过现有单聊/群应用事件交付。
|
|
25
|
+
- 明文 Echo 的发送失败/超时生成含 `reason`、`delivery_state` 和错误明细的 `echo_return`;认证错误、密文及应用回调错误保持原错误边界。
|
|
26
|
+
|
|
27
|
+
### UDP 待机与原生邮件
|
|
28
|
+
|
|
29
|
+
- Node 新增 `udp_standby_v1` 长连接空闲待机及 WebSocket 唤醒恢复;业务 RPC、消息通知、租约期限和心跳故障可唤醒,待确认/同步任务阻止入睡,`gateway.sync_demand` 不计作业务活动。
|
|
30
|
+
- 导出独立 `MailClient`/`MailClientError` 及类型,支持 AID 证书认证、SMTP STARTTLS、IMAPS、MIME/附件、逐收件人结果、Sent 副本、UID 操作、流式读取、watch 和凭据轮换。
|
|
31
|
+
- 邮件信封规范化并去重收件人,不改写调用方对象;修复 ImapFlow ESM/CJS 的 SEARCH、COPY、MOVE、EXPUNGE、STORE 错误传播,协议失败不再返回假成功/空结果,并保留合法空查询结果。
|
|
32
|
+
- 原生邮件依赖独立 Mail 服务;旧 `client.mail` RPC 门面保留兼容。Mail 整体验收仍未完成,本次配套服务按单实例支持发布;Browser JS 不提供本节的原生 UDP/SMTP/IMAP 能力。
|
|
33
|
+
|
|
34
|
+
### 版本与验证
|
|
35
|
+
|
|
36
|
+
- 包配置、锁文件和运行时版本统一为 `0.5.35`,增加 UDP、Mail、Echo、订阅过滤及后台 ACK 回归覆盖;本条目不代表全量/公网/跨域验收已经通过。
|
|
37
|
+
|
|
38
|
+
## 0.5.34 — 已发布
|
|
10
39
|
|
|
11
40
|
相对已发布的 `0.5.33` 整理当前工作区增量;四端接口、实现差异和服务依赖见 [Python parity 文档](../python/CHANGES_FOR_PARITY.md#v0534)。
|
|
12
41
|
|
|
@@ -6,7 +6,36 @@
|
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
## 0.5.
|
|
9
|
+
## 0.5.35 — 2026-11-12
|
|
10
|
+
|
|
11
|
+
对照已发布的 `0.5.34`,包含发布后的已提交变更及当前工作区增量;比较基线和四端实现边界见 [parity 0.5.35](../python/CHANGES_FOR_PARITY.md#v0535)。
|
|
12
|
+
|
|
13
|
+
### EventService 订阅与本地收发
|
|
14
|
+
|
|
15
|
+
- `subscribe`/`unsubscribe` 支持点分层 `*` 通配事件名;按当前目录和授权展开,不支持 `**` 或自动匹配未来新增事件。
|
|
16
|
+
- `subscribe(busAid, events, options)` 新增 `publisherAids`、`publisherTypes`、`publisherExttypes`;线上字段为 snake_case,同字段内任一匹配、不同字段同时满足,类型取自验签通过的发布者名片。
|
|
17
|
+
- 过滤条件随 SQLite 订阅状态持久化及恢复;订阅条件变化时淘汰队列中属于旧订阅代次的事件。同一 Client、Bus AID 和 device/slot 可在进程内收发,保留授权、租约、TTL、容量及去重边界。
|
|
18
|
+
|
|
19
|
+
### 消息同步与 Echo
|
|
20
|
+
|
|
21
|
+
- 后台 Pull 提交后异步合并累计 ACK,失败重试、更新发送参数并隔离身份/连接/namespace 代际;前台 Pull 继续等待 ACK,关闭时有限等待后台确认。
|
|
22
|
+
- 减少已被在线交付覆盖的重复 Pull/ACK;历史同步移除 `history_bytes_per_second` 主动节流,保留并发、页字节、在途内存和背压限制,辅助连接创建/退役时更新需求通知。
|
|
23
|
+
- 连接成功后的自动补拉和组织身份恢复随机延后 30–60 秒,执行前复核当前身份和连接,关闭或切换身份时取消旧任务。
|
|
24
|
+
- 对齐 Echo v3.2 三前缀、强制明文、单一递减 `hop`、完整 trace 和真实耗时;提前返程通过现有单聊/群应用事件交付。
|
|
25
|
+
- 明文 Echo 的发送失败/超时生成含 `reason`、`delivery_state` 和错误明细的 `echo_return`;认证错误、密文及应用回调错误保持原错误边界。
|
|
26
|
+
|
|
27
|
+
### UDP 待机与原生邮件
|
|
28
|
+
|
|
29
|
+
- Node 新增 `udp_standby_v1` 长连接空闲待机及 WebSocket 唤醒恢复;业务 RPC、消息通知、租约期限和心跳故障可唤醒,待确认/同步任务阻止入睡,`gateway.sync_demand` 不计作业务活动。
|
|
30
|
+
- 导出独立 `MailClient`/`MailClientError` 及类型,支持 AID 证书认证、SMTP STARTTLS、IMAPS、MIME/附件、逐收件人结果、Sent 副本、UID 操作、流式读取、watch 和凭据轮换。
|
|
31
|
+
- 邮件信封规范化并去重收件人,不改写调用方对象;修复 ImapFlow ESM/CJS 的 SEARCH、COPY、MOVE、EXPUNGE、STORE 错误传播,协议失败不再返回假成功/空结果,并保留合法空查询结果。
|
|
32
|
+
- 原生邮件依赖独立 Mail 服务;旧 `client.mail` RPC 门面保留兼容。Mail 整体验收仍未完成,本次配套服务按单实例支持发布;Browser JS 不提供本节的原生 UDP/SMTP/IMAP 能力。
|
|
33
|
+
|
|
34
|
+
### 版本与验证
|
|
35
|
+
|
|
36
|
+
- 包配置、锁文件和运行时版本统一为 `0.5.35`,增加 UDP、Mail、Echo、订阅过滤及后台 ACK 回归覆盖;本条目不代表全量/公网/跨域验收已经通过。
|
|
37
|
+
|
|
38
|
+
## 0.5.34 — 已发布
|
|
10
39
|
|
|
11
40
|
相对已发布的 `0.5.33` 整理当前工作区增量;四端接口、实现差异和服务依赖见 [Python parity 文档](../python/CHANGES_FOR_PARITY.md#v0534)。
|
|
12
41
|
|
package/_packed_docs/INDEX.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# AUN SDK Core 文档索引
|
|
2
2
|
|
|
3
|
-
> 当前四 SDK 源码版本为 **0.5.
|
|
3
|
+
> 当前四 SDK 源码版本为 **0.5.35**,本版接入与实现见 [0.5.35 应用集成指南](sdk/0.5.35-SDK应用集成指南.md)、[开发与移植指南](sdk/0.5.35-SDK开发与移植指南.md),源码增量见 [parity 0.5.35](../python/CHANGES_FOR_PARITY.md#v0535),现行接口见 [SDK 索引](sdk/INDEX.md)、[API 手册](sdk/06-API手册.md)及各 RPC 手册;版本专题和 CHANGELOG 保留原版本。根级索引采用三层结构:Layer 1 快速定位,Layer 2 按主题查找,Layer 3 重点文档摘要。P2P 保留共享 seq、按 sender 隔离游标,网络 Pull Gate 同 namespace 单飞、每客户端最多4个并行,末页独立 ACK。
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
| [AUN 服务 Go 化重构精细化源码审查](audit/AUN服务Go化重构精细化源码审查-20260718.md) | 10 个 AUN 服务的 Go/Python 调用链、字段、并发、安全与性能修复终审;开放 P0/P1/P2 已归零,并附 Claude 60+76 条复审映射、跨实例/资源边界修复和 Docker/Linux 2344 条 Python 回归证据 |
|
|
22
22
|
| [AUNClient 拆分重构执行方案](design/AUNClient拆分重构执行方案.md) | Python / Go / TS / JS SDK AUNClient 内部拆分边界、执行步骤和验收矩阵 |
|
|
23
23
|
| [AUNClient 门面化与 Runtime 状态迁移细化方案](design/AUNClient门面化与Runtime状态迁移细化方案.md) | AUNClient 完全门面化、ClientRuntime 单一状态源和四端分批迁移步骤 |
|
|
24
|
-
| [0.5.
|
|
24
|
+
| [0.5.35 应用集成指南](sdk/0.5.35-SDK应用集成指南.md)、[开发与移植指南](sdk/0.5.35-SDK开发与移植指南.md);[0.5.35 变更与跨端对齐](../python/CHANGES_FOR_PARITY.md#v0535);[0.5.34 应用指南](sdk/0.5.34-SDK应用集成指南.md) / [移植指南](sdk/0.5.34-SDK开发与移植指南.md)保留历史专题 | 对照已发布 0.5.34:通配订阅/发布者过滤、本地事件收发、后台 ACK、Echo v3.2;三端 UDP/原生 Mail、语言专属修复及单实例发布边界 |
|
|
25
25
|
| [0.5.33 SDK 应用集成指南](sdk/0.5.33-SDK应用集成指南.md) / [开发与移植指南](sdk/0.5.33-SDK开发与移植指南.md) | 弹性补拉:应用面板配置/流程/故障边界 L404-464;四端用途认证、策略准入、共享预算与断线退主 L413-499;保留本版控制消息、Ownership和ACL专题 |
|
|
26
26
|
| [消息同步与历史拉取改造方案](消息同步与历史拉取改造方案.md) / [消息弹性补拉通道方案](消息弹性补拉通道方案.md) / [消息弹性补拉通道实施计划](消息弹性补拉通道实施计划.md) | Forward A/T/H 窗口、Group 可见性、Tail/History RPC、页内有序发布、跨页幂等排序、三 Pull Gate、缺 sender IK bootstrap及坏密文推进;弹性通道契约:本轮Gateway同AID+设备最多授权1条、SDK按策略支持0..N(协议测试到2)、同namespace串行/跨namespace并行、history_sync、面板持久开关、断线退主、独立volatile与共享预算;实施计划L338-375为原额度历史证据(不证明新规则通过),新Gateway上限、四端策略行为和Ubuntu验收待完成 |
|
|
27
27
|
| [P2P 消息 TTL 内存缓存方案](design/P2P消息TTL内存缓存方案.md) | `message.send` 秒级 TTL 钳制、持久/volatile 双游标、按 device 收件箱、隐藏 slot lease/ACK、文件 epoch、消息调试计数器与 payload type 分类、多实例/跨域和四 SDK 测试矩阵 |
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
| [E2EE V2 简化为 1DH + Per-AID Wrap 方案](design/E2EE_V2简化为1DH加Per-AID_Wrap方案.md) | SDK bootstrap 能力声明 + 服务端 policy 控制 1DH/per-AID wrap 的兼容方案 |
|
|
41
41
|
| [E2EE V2 消息通信时序图](sdk/E2EE_V2消息通信时序图.md) | 当前 V2-only P2P / Group 明文与加密主链路、设备密钥注册和 pull/ack 时序 |
|
|
42
42
|
| [ProtectedHeaders 用法专题](sdk/ProtectedHeaders用法专题.md) | 四 SDK `protected_headers` API、E2EE V2 元数据 HMAC、自动字段和接收信任边界 |
|
|
43
|
-
| [Ownership 协议定义 2.1](protocol/Ownership协议定义2.1.md) | agent.md/owner.md 关系、原格式兼容、release/清理/重绑版本、Header 投影、普通 agent.md 独立及旧 SDK 兼容;非权威 P2P
|
|
43
|
+
| [Ownership 协议定义 2.1](protocol/Ownership协议定义2.1.md) | agent.md/owner.md 关系、原格式兼容、release/清理/重绑版本、Header 投影、普通 agent.md 独立及旧 SDK 兼容;非权威 P2P 编排;现代 Group/Org 统一声明/共识、专属生命周期、实体主签及 owner token 上传;旧实体读取兼容 |
|
|
44
44
|
| [Ownership SDK 编排指南 2.1](sdk/Ownership-SDK编排指南2.1.md) | 历史编排方案;持久任务、自动恢复及一次性决定已由当前两份指南中的无状态流程替代 |
|
|
45
45
|
| [Ownership 2.1 SDK 应用集成指南](sdk/Ownership2.1-SDK应用集成指南.md) | 应用侧 TS 接线与审批;双向绑定、释放、转移、两个 local 编排及显式重试的流程图与示例,以 NS 当前归属为准 |
|
|
46
46
|
| [Ownership 2.1 SDK 开发与移植指南](sdk/Ownership2.1-SDK开发与移植指南.md) | SDK 内部签验、NS 验收、Storage 条件发布、消息处理、两/三身份本地编排及文件 CAS;不维护 Ownership 任务或 WAL |
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
| [凭证服务 RPC 手册](sdk/09-凭证服务RPC手册.md) | 旧版及六语义RPC、修订CAS/额度协调、签名CRL与十错误码 |
|
|
50
50
|
| [语义凭证示例与验证](../examples/semantic-credential/示例使用指南.md) | E01—E36配置、CN/本地aid.com、真实浏览器/普通凭证冷恢复及证据边界 |
|
|
51
51
|
| [组织服务 RPC 手册](sdk/09-组织服务RPC手册.md) | Org Service 生命周期、成员、受保护查询、审计/授权及内部/未实现方法 |
|
|
52
|
-
| [Ownership 2.1 详细设计](sdk/Ownership2.1详细设计.md) | agent.md 兼容非回归原则与审查矩阵、旧 SDK owner RPC/JSONL 隔离、SDK/NS/Storage
|
|
52
|
+
| [Ownership 2.1 详细设计](sdk/Ownership2.1详细设计.md) | agent.md 兼容非回归原则与审查矩阵、旧 SDK owner RPC/JSONL 隔离、SDK/NS/Storage 职责及现代 Group/Org 声明/共识与生命周期边界;关系事实依赖`sub_aid/agent.md` 与 owner_aid 规范路径的 `owner.md`,普通名片和其 Storage 副本独立 |
|
|
53
53
|
| [Ownership 2.1 TDD 分阶段实施计划](sdk/Ownership2.1-TDD分阶段实施计划.md) | 历史分阶段计划、冻结契约、HTTP 428 与错误分类、共同向量及四 SDK 实际验收范围 |
|
|
54
54
|
| [Ownership 管理专题(legacy)](sdk/Ownership管理专题.md) | 历史 `aun.ownership.v1`、proof、托管、代签、代上传与 rekey 记录,不作为 2.1 接入依据 |
|
|
55
55
|
| [Ownership SDK 集成指南(legacy)](sdk/Ownership-SDK集成指南.md) | 2026-10-09 历史 TypeScript 应用接入、旧审批 API 与自动编排记录 |
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
| [SDK 文档索引](sdk/INDEX.md) | SDK 使用手册、P2P peer 能力/游标、完整 pending peers/快照、need_render、50k 内存去重/应用持久幂等、四端门面、RPC、E2EE、Storage VFS、Group FS 和 Collab 的子索引 |
|
|
75
75
|
| [SDK 查阅指南](sdk/AUN_DOCS_GUIDE.md) | SDK 文档按行区间渐进式查阅方法 |
|
|
76
76
|
| [AUN SDK 0.5.6 更新日志](sdk/CHANGELOG-0.5.6.md) | 以 0.5.5 为基线的四 SDK 发布汇总;覆盖首次签名者回源、下载提交前验签、消息窗口、显式 change-seed 和语言能力边界 |
|
|
77
|
-
| [四 SDK 版本对齐变更清单](../python/CHANGES_FOR_PARITY.md);[0.5.29 应用指南](sdk/0.5.29-SDK应用集成指南.md)、[开发与移植指南](sdk/0.5.29-SDK开发与移植指南.md)、[共识与上传对齐](../python/CHANGES_FOR_PARITY.md#v0529--共识查询缓存与普通上传未发布);[0.5.28 应用指南](sdk/0.5.28-SDK应用集成指南.md)、[开发与移植指南](sdk/0.5.28-SDK开发与移植指南.md);[0.5.27 应用指南](sdk/0.5.27-SDK应用集成指南.md)、[开发与移植指南](sdk/0.5.27-SDK开发与移植指南.md) | v0.3.3 至 v0.5.29
|
|
77
|
+
| [四 SDK 版本对齐变更清单](../python/CHANGES_FOR_PARITY.md);[0.5.29 应用指南](sdk/0.5.29-SDK应用集成指南.md)、[开发与移植指南](sdk/0.5.29-SDK开发与移植指南.md)、[共识与上传对齐](../python/CHANGES_FOR_PARITY.md#v0529--共识查询缓存与普通上传未发布);[0.5.28 应用指南](sdk/0.5.28-SDK应用集成指南.md)、[开发与移植指南](sdk/0.5.28-SDK开发与移植指南.md);[0.5.27 应用指南](sdk/0.5.27-SDK应用集成指南.md)、[开发与移植指南](sdk/0.5.27-SDK开发与移植指南.md) | v0.3.3 至 v0.5.35 跨语言对齐清单;0.5.29 历史指南覆盖应用接入、NS 单次查询、无 TTL 的 ETag 缓存、resolve、上传锁/恢复和四端移植;旧版记录保留 |
|
|
78
78
|
| [AUN CLI 手册](cli/CLI手册.md) | Python CLI入口、profile及主要命令;credential 23命令、组织入口、文件/上下文、原字节和错误退出 |
|
|
79
79
|
| [AUN CLI 设计文档](cli/AUN-CLI设计文档.md) | `python/src/aun_cli` 当前实现架构、命令注册面、配置解析、SDK 桥接和实现边界 |
|
|
80
80
|
| [凭证与组织服务 CLI 开发与使用指南](cli/凭证与组织服务CLI开发与使用指南.md) | 流程图+TS示例;真实CLI调用、凭证全流程、组织材料衔接与SDK胶水开发 |
|
|
@@ -144,7 +144,7 @@
|
|
|
144
144
|
- 0.5.24 SDK 分层、消息提交、Ownership/Stage/CAS、local 身份隔离、缓存新鲜度、跨端差异及 Rust 核查 → [开发与移植指南](sdk/0.5.24-SDK开发与移植指南.md)
|
|
145
145
|
- Python / TS / Go / JS SDK 使用手册,P2P peer 能力、共享 seq/隔离游标、轻量 pending peers/可选整体估计快照、目录/Pull逐页next_pending_seq持续提示/每N次FIFO、peer ACK/slot 公共 S、need_render/页内渲染计数、50k 内存去重/应用持久幂等,以及 Python PushFacade → [SDK 文档索引](sdk/INDEX.md)、[Message RPC](sdk/09-message-rpc-manual.md)、[服务协议](protocol/06-服务协议.md#63-点对点消息-message)
|
|
146
146
|
- SDK 风控能力、内部控制消费、RPC/HTTP 门控、断线等待、旧端兼容、服务端执行与 Console 解封 → [风控响应与 SDK 协同方案](风控响应与SDK协同方案.md)
|
|
147
|
-
- Ownership 2.1 agent.md/owner.md 关系、原格式兼容、普通 agent.md 独立、release 保持当前版本、清理后版本投影为 0/重绑默认 1、响应 Header 只投影校验结果、普通 agent owner
|
|
147
|
+
- Ownership 2.1 agent.md/owner.md 关系、原格式兼容、普通 agent.md 独立、release 保持当前版本、清理后版本投影为 0/重绑默认 1、响应 Header 只投影校验结果、普通 agent owner 可选、现代 Group/Org 双文件共识及旧 SDK 隔离兼容 → [协议定义 2.1](protocol/Ownership协议定义2.1.md)、[详细设计](sdk/Ownership2.1详细设计.md)
|
|
148
148
|
- Ownership 2.1 应用接入:双向绑定、释放、转移、两个 local 编排、审批和显式重试的 TS 示例/流程图 → [应用集成指南](sdk/Ownership2.1-SDK应用集成指南.md)
|
|
149
149
|
- Ownership 2.1 SDK 移植:文件签验、NS 验收、条件发布、通用消息交付、本地编排和文件 CAS → [开发与移植指南](sdk/Ownership2.1-SDK开发与移植指南.md)
|
|
150
150
|
- Credential/Org 应用接入:结构化约束、委托、登记、完整Verify与状态/CRL;语义原件、请求与业务验收 → [应用集成指南](sdk/凭证与组织服务SDK应用集成指南.md)§3—§4
|
|
@@ -162,7 +162,7 @@
|
|
|
162
162
|
- 四 SDK resolve 的 opts/输入输出、frontmatter 全字段与类型、按需 ownership 共识及 owner.md 缓存 → [resolve 规格](sdk/06-API手册.md#resolve-输入与输出)、[连接与认证](sdk/04-连接与认证.md)
|
|
163
163
|
- 按主题和行区间查 SDK 文档 → [SDK 查阅指南](sdk/AUN_DOCS_GUIDE.md)
|
|
164
164
|
- 四 SDK 0.5.6 发布摘要、首次签名者回源、可信缓存提交、消息窗口、语言能力边界 → [AUN SDK 0.5.6 更新日志](sdk/CHANGELOG-0.5.6.md)
|
|
165
|
-
- 四 SDK 0.5.29
|
|
165
|
+
- 四 SDK 0.5.35 增量、四端能力矩阵及单实例/Mail 验证边界 → [0.5.35 应用集成指南](sdk/0.5.35-SDK应用集成指南.md)、[开发与移植指南](sdk/0.5.35-SDK开发与移植指南.md);[当前 parity](../python/CHANGES_FOR_PARITY.md#v0535);0.5.29 历史应用接入、共识输入输出、resolve、普通上传及业务服务 → [应用指南](sdk/0.5.29-SDK应用集成指南.md);查询缓存、并发、上传恢复、NS 配套及四端落点 → [开发与移植指南](sdk/0.5.29-SDK开发与移植指南.md);当版增量和已有验证见 [历史 parity](../python/CHANGES_FOR_PARITY.md#v0529--共识查询缓存与普通上传未发布)。接口摘要见 [Python](../python/CHANGELOG.md)、[Go](../go/CHANGELOG.md)、[TS](../ts/CHANGELOG.md)、[JS](../js/CHANGELOG.md) CHANGELOG。
|
|
166
166
|
- 四 SDK 0.5.28 的 agent.md 校验、共识 fresh、分类控制消息、Owner 通知与风控,以及四端差异和验证范围 → [0.5.28 应用指南](sdk/0.5.28-SDK应用集成指南.md)、[开发与移植指南](sdk/0.5.28-SDK开发与移植指南.md);实现对照见 [历史 parity](../python/CHANGES_FOR_PARITY.md#v0528--校验控制消息与风控未发布)。0.5.28 及更早记录中的公共共识查询以 0.5.29 增量为准。
|
|
167
167
|
- Python CLI 源码位置、安装运行入口、全局选项、profile 配置、身份/消息/群组/Storage/Group FS/Collab/诊断等命令用法 → [AUN CLI 手册](cli/CLI手册.md)
|
|
168
168
|
- Python CLI 当前实现架构、`main.py` 命令注册、`CLISession` SDK 桥接、配置解析和实现边界 → [AUN CLI 设计文档](cli/AUN-CLI设计文档.md)
|
|
@@ -387,13 +387,13 @@ TypeScript 身份与消息接线、Ownership 审批恢复、resolve、默认缓
|
|
|
387
387
|
|
|
388
388
|
### Ownership 协议定义 2.1
|
|
389
389
|
|
|
390
|
-
定义 NS 当前 `agent.md` 与 owner Storage 当前 `owner.md` 的原始字节多签、逐块 prefix 验证、multi-v1 表示协商、自身份上传、owner.md 权限和当前关系校验;owner 锁与响应 Header 只投影本次材料的校验结果。release 保持被释放的版本 v,sub 清理关系字段后的版本投影为 0、再次绑定默认 1;转移仍核对 v 与 v+1
|
|
390
|
+
定义 NS 当前 `agent.md` 与 owner Storage 当前 `owner.md` 的原始字节多签、逐块 prefix 验证、multi-v1 表示协商、自身份上传、owner.md 权限和当前关系校验;owner 锁与响应 Header 只投影本次材料的校验结果。release 保持被释放的版本 v,sub 清理关系字段后的版本投影为 0、再次绑定默认 1;转移仍核对 v 与 v+1。现代 Group/Org 使用相同 owner.md/agent.md 声明与共识,生命周期编排创建、解散及强制 rekey 转移;实体主签不带 signer_aid、不输出旧 entity_cert_fingerprint,以当前 owner token 上传并核对生命周期;三个时间字段统一安全整数范围,invalid 与 unavailable 分别表示无效与不可用。实体 pending 固定完整多签原文、owner/实体代际及原 CAS,取消额外 V2 上传授权与过期窗口,应用显式重试仍须新鲜核对当前代际;同全文/ETag 已提交仅观察确认。SDK 普通 P2P 编排仅作非权威协作,不构成协议层授权。新服务端保留旧 SDK 注册、绑定、转移、查询和解绑 RPC 及隔离的 Auth JSONL,仅激活旧 NS ownership_proof;不写 2.1 双文件,不授 2.1 lock/version/consensus,也不覆盖已存现代声明。
|
|
391
391
|
|
|
392
392
|
### Ownership SDK 编排指南 2.1
|
|
393
393
|
|
|
394
394
|
保留七 Facade、Stage、P2P、持久任务及一次性决定的历史设计。当前实现已移除 Ownership 任务、WAL、后台恢复和 decisions 接口,以两份现行 SDK 指南中的文件提交、NS 事实验收和显式重试为准。
|
|
395
395
|
|
|
396
|
-
Group/Org
|
|
396
|
+
本条历史任务方案不定义当前 Group/Org 生命周期编排。现代实体的双文件声明与共识同样适用;普通 Ownership 管理 Facade 的绑定、释放、转移仍返回 not_applicable,不能将这一入口限制扩展到声明/共识或放宽 owner 类型。创建、解散和强制 rekey 转移由专属生命周期完成,当前边界见协议 §1.3/§2.5。
|
|
397
397
|
|
|
398
398
|
### Ownership 2.1 SDK 应用集成指南
|
|
399
399
|
|
|
@@ -449,9 +449,9 @@ Group/Org 作为 sub 时不进入这些通用任务或审批;以其为 sub 误
|
|
|
449
449
|
|
|
450
450
|
0.5.29 [应用指南](sdk/0.5.29-SDK应用集成指南.md):接入与消息 §1—§2 L5-54、共识 §3 L55-80、resolve §4 L81-104、上传及管理 §5 L105-145、缓存/通知/业务 §6—§7 L146-167、升级 §8 L168-180;[开发与移植指南](sdk/0.5.29-SDK开发与移植指南.md):契约 §1—§2 L5-63、缓存与 resolve §3—§4 L64-94、上传恢复 §5 L95-123、四端与继承契约 §6—§7 L124-151、核查 §8 L152-164。
|
|
451
451
|
|
|
452
|
-
当前 [0.5.29 parity](../python/CHANGES_FOR_PARITY.md#v0529--共识查询缓存与普通上传未发布)
|
|
452
|
+
[0.5.35 应用指南](sdk/0.5.35-SDK应用集成指南.md):范围 L7-20、EventService L21-61、ACK/恢复 L62-77、Echo L78-94、UDP L95-124、Mail L125-163、语言专属 L164-177、验收 L178-189;[开发与移植指南](sdk/0.5.35-SDK开发与移植指南.md):职责 L7-17、事件契约 L18-63、ACK/同步 L64-83、Echo L84-99、UDP L100-136、Mail L137-172、语言落点 L173-184、回归 L185-204。 当前 [0.5.35 parity](../python/CHANGES_FOR_PARITY.md#v0535) L15-90:基线/矩阵 L17-29、EventService L30-43、ACK/同步 L44-51、Echo L52-58、UDP L59-65、Mail L66-73、语言专属 L74-80、核验范围 L81-90。历史 [0.5.29 parity](../python/CHANGES_FOR_PARITY.md#v0529--共识查询缓存与普通上传未发布) L456-528:公共入口与 NS 请求 L460-480、无 TTL 的 ETag 缓存及 resolve L481-488、普通上传与恢复 L489-508、NS 配套与定向验证 L509-528。四端 CHANGELOG 提供接口级摘要。
|
|
453
453
|
|
|
454
|
-
历史 0.5.28 [应用指南](sdk/0.5.28-SDK应用集成指南.md):身份/消息接入 §2—§3 L18-95、凭证/组织 §4—§5 L96-137、Storage/Ownership §6—§7 L138-186、Owner 通知 §8 L187-201、风控/升级 §9—§10 L202-228;[开发与移植指南](sdk/0.5.28-SDK开发与移植指南.md):上传/下载 schema §1 L7-36、非一致共识 fresh §2 L37-62、分类控制消息 §3 L63-108、Owner outbox §4 L109-121、风控 §5 L122-134、移植矩阵 §6 L135-146。对应实现及验证边界见 `python/CHANGES_FOR_PARITY.md` 0.5.28 章节
|
|
454
|
+
历史 0.5.28 [应用指南](sdk/0.5.28-SDK应用集成指南.md):身份/消息接入 §2—§3 L18-95、凭证/组织 §4—§5 L96-137、Storage/Ownership §6—§7 L138-186、Owner 通知 §8 L187-201、风控/升级 §9—§10 L202-228;[开发与移植指南](sdk/0.5.28-SDK开发与移植指南.md):上传/下载 schema §1 L7-36、非一致共识 fresh §2 L37-62、分类控制消息 §3 L63-108、Owner outbox §4 L109-121、风控 §5 L122-134、移植矩阵 §6 L135-146。对应实现及验证边界见 `python/CHANGES_FOR_PARITY.md` 0.5.28 章节 L529-613。0.5.27 及更早版本保留原基线和执行记录。
|
|
455
455
|
|
|
456
456
|
0.5.27 [应用指南](sdk/0.5.27-SDK应用集成指南.md):身份/连接/消息迁移 §2—§3 L30-133,结构化 §4 L134-192/语义 §5 L193-349,组织与缓存 §6—§7 L350-388,升级 §8 L389-408;[开发与移植指南](sdk/0.5.27-SDK开发与移植指南.md):字节/签名 §2 L38-84,结构化 §3 L85-123/语义 §4 L124-297,组织 §5 L298-334,迁移交付 §6 L335-383,平台与回归 §7—§8 L384-410。 `python/CHANGES_FOR_PARITY.md` 以 Python SDK 实现为主线记录 Go / TypeScript / JavaScript 对齐要求。0.5.27 L173-290 统一对照 0.5.25 源码提交,覆盖结构化/语义凭证、消息证据、online/bounded、Usage 持久恢复、Gateway 迁移、时间容错、组织和 CLI;列出各端实现落点、存储差异及已有验证范围。0.5.26 仅记 TypeScript 根证书打包修正;0.5.25 及更早章节保留原基线和执行记录。
|
|
457
457
|
|
|
@@ -38,15 +38,15 @@ AUN SDK Core 文档在 `docs/` 下。根级索引为 `docs/INDEX.md`,SDK API
|
|
|
38
38
|
| 0.5.22 SDK 移植:同步、Stage/CAS、撤销续期、缓存、语言修复及 Rust | `docs/sdk/0.5.22-SDK开发与移植指南.md` 1. L5-8;2. L9-29;3. L30-39;4. L40-83;5. L84-118;6. L119-171;7. L172-188;8. L189-199 |
|
|
39
39
|
| 0.5.24 应用集成:当前消息、无任务 Ownership、两个 local 编排、缓存及凭证组织 | `docs/sdk/0.5.24-SDK应用集成指南.md` 1. L5-20;2. L21-75;3. L76-132;4. L133-168;5. L169-298;6. L299-321;7. L322-366;8. L367-385;9. L386-401;local bind L227-245、local transfer L246-267 |
|
|
40
40
|
| 0.5.24 SDK 移植:提交/ACK、NS 事实与 CAS、local 身份隔离、缓存新鲜度与语言差异 | `docs/sdk/0.5.24-SDK开发与移植指南.md` 1. L5-17;2. L18-31;3. L32-84;4. L85-92;5. L93-122;6. L123-217;7. L218-245;8. L246-261;9. L262-297;10. L298-325;11. L326-339;12. L340-354 |
|
|
41
|
-
| Ownership 2.1 agent.md/owner.md
|
|
41
|
+
| Ownership 2.1 agent.md/owner.md、现代 Group/Org 共识、普通名片与历史格式边界 | `docs/protocol/Ownership协议定义2.1.md` 1. L11-61;2. L62-202;3. L203-266;4. L267-634;5. L635-642;6. L643-669 |
|
|
42
42
|
| Ownership 2.1 历史编排、任务恢复、reset 与三类 CAS 设计 | `docs/sdk/Ownership-SDK编排指南2.1.md` L9-939;仅作历史参考,当前流程见下面两份指南 |
|
|
43
43
|
| Ownership 多设备归属冲突、最后上传候选与锁后保护;无独立 decisions | `docs/sdk/Ownership2.1-SDK应用集成指南.md` L171-201、L326-342;旧编排 L941-986 的一次性决定方案已撤销 |
|
|
44
44
|
| Ownership 2.1 应用 TS 接线、双向绑定/释放/转移、local 编排与显式重试图 | `docs/sdk/Ownership2.1-SDK应用集成指南.md` 1. L7-20;2. L21-27;3. L28-140;4. L141-158;5. L159-168;6. L169-303;7. L304-325;8. L326-342;9. L343-354;10. L355-363;local bind L257-278、local transfer L279-303 |
|
|
45
45
|
| Ownership 2.1 SDK 移植:签验、NS 验收、Storage、消息与本地编排图 | `docs/sdk/Ownership2.1-SDK开发与移植指南.md` 1. L5-14;2. L15-38;3. L39-51;4. L52-84;5. L85-98;6. L99-128;7. L129-153;8. L154-173;9. L174-209;10. L210-253;11. L254-374;12. L375-383;13. L384-399;local bind L297-335、local transfer L336-374 |
|
|
46
46
|
| AIDStore.sign/verify 与完整文件多签 | `docs/sdk/Ownership2.1-SDK应用集成指南.md` L130-140;`docs/sdk/Ownership2.1-SDK开发与移植指南.md` L71-84、L99-128 |
|
|
47
|
-
| Ownership 2.1
|
|
47
|
+
| Ownership 2.1 双文件、Group/Org 生命周期与访问补齐、普通名片非回归矩阵 | `docs/sdk/Ownership2.1详细设计.md` 1. L9-78;2. L79-130;3. L131-166;4. L167-210;5. L211-241;6. L242-305;7. L306-398;8. L399-437;9. L438-471;10. L472-484 |
|
|
48
48
|
| Ownership 2.1 历史分阶段计划、冻结契约与验收,Group/Org 另查专属边界 | `docs/sdk/Ownership2.1-TDD分阶段实施计划.md` 1. L7-53;2. L54-80;3. L81-103;4. L104-136;5. L137-165;6. L166-205;7. L206-237;8. L238-283;9. L284-318;10. L319-351;11. L352-370;12. L371-391;13. L392-708 |
|
|
49
|
-
| Group/Org
|
|
49
|
+
| Group/Org 现代声明/共识、实体主签、owner 上传、历史格式与每连接访问补齐 | `docs/protocol/Ownership协议定义2.1.md` L52-61、L183-202;`docs/sdk/09-group-rpc-manual.md` L168-419 |
|
|
50
50
|
| release 保持 v、清理后 0/重绑默认 1 与通知触发的 sub 清理 | `docs/sdk/Ownership2.1-SDK应用集成指南.md` L202-223;`docs/sdk/Ownership2.1-SDK开发与移植指南.md` L279-296 |
|
|
51
51
|
| 旧 SDK 隔离兼容、普通名片保留关系及历史任务恢复;legacy proof wire | `docs/protocol/Ownership协议定义2.1.md` L220-242;历史恢复见旧编排 L718-782;当前兼容与显式重试见 `docs/sdk/Ownership2.1-SDK应用集成指南.md` L326-363;legacy wire 见 `docs/protocol/Ownership协议定义.md` L159-321 |
|
|
52
52
|
| legacy Ownership 2.0 的 agent.md/owner.md 声明、共识及撤销契约 | `docs/agent.md/SCHEMA.md` L1-6、L159-233;`docs/protocol/Ownership协议定义2.0.md`;更早 1.0 副本 `docs/protocol/agent.md/SCHEMA.md` L1-5 |
|
|
@@ -155,14 +155,14 @@ AUN SDK Core 文档在 `docs/` 下。根级索引为 `docs/INDEX.md`,SDK API
|
|
|
155
155
|
| AID owner 完整设计、Schema 可选性与 human owner 限制、三字段共同声明与 self-owner 单签、Phase 0 已确认的 P0-A01 至 P0-A12(canonical JSON、可见分号域分隔符、签名封套、proof-only/registered、Auth receipt、TTL、证书状态与关系 operation 分离、legacy/绑定中基本登录通信及按应用场景降级、旧 AID `aid_bind` 与新建 `aid_register` 的 RPC/Facade 边界、active/pending 唯一性检查、创建/绑定/换 owner/解绑、`unbound`/`unusable`、服务端/四端 SDK 改动和分阶段验收;剩余为正式 wire/RPC 文档与跨端向量落稿 | `docs/agent.md/working/AID类型-owner关系完整设计与实施计划.md` |
|
|
156
156
|
| 本轮 owner 关系实施及本地 Docker、单域、cross-SDK、双域 federation 回归中发现的非任务失败、根因、修复与验证 | `docs/agent.md/working/本地Docker测试Bug清单.md` |
|
|
157
157
|
| SDK API、RPC、E2EE、Storage VFS、Group FS、Collab GC/reflog/reset 使用细节 | `docs/sdk/AUN_DOCS_GUIDE.md` |
|
|
158
|
-
| 四 SDK resolve opts、frontmatter 字段/类型;当前 ownership 输出与无 TTL 缓存 | 基础解析见 `docs/sdk/06-API手册.md` L86-203、`docs/sdk/04-连接与认证.md` L233-243;当前共识变更见 `python/CHANGES_FOR_PARITY.md`
|
|
158
|
+
| 四 SDK resolve opts、frontmatter 字段/类型;当前 ownership 输出与无 TTL 缓存 | 基础解析见 `docs/sdk/06-API手册.md` L86-203、`docs/sdk/04-连接与认证.md` L233-243;当前共识变更见 `python/CHANGES_FOR_PARITY.md` L460-488 |
|
|
159
159
|
| 四 SDK Storage / Group FS 默认读缓存、省略策略或 TTL 默认 60 秒、显式限制、SHA 无正文免计次与 owner.md 普通/权威读取 | `docs/sdk/09-storage-rpc-manual.md` L129-170;`docs/sdk/06-API手册.md` L497-510;`docs/sdk/09-group-rpc-manual.md` L1588-1622 |
|
|
160
160
|
| 四 SDK 当前 access token getter、缓存快照语义和外部 HTTP 数据面下载凭据生命周期 | `docs/sdk/04-连接与认证.md` L96-125、`docs/sdk/06-API手册.md` L327-346、`docs/sdk/09-storage-rpc-manual.md` L690-734、`docs/sdk/09-group-rpc-manual.md` L1614-1620、`docs/aun-fs/AUN Storage架构设计.md` L153-166 |
|
|
161
|
-
| 四 SDK 0.5.
|
|
161
|
+
| 四 SDK 0.5.35 增量、通配订阅/过滤、本地收发、后台 ACK、Echo、三端 UDP/Mail 及单实例边界 | [0.5.35 应用集成指南](sdk/0.5.35-SDK应用集成指南.md)、[开发与移植指南](sdk/0.5.35-SDK开发与移植指南.md);[parity 0.5.35](../python/CHANGES_FOR_PARITY.md#v0535) L15-90;0.5.34 历史专题保留在 `docs/sdk/0.5.34-SDK应用集成指南.md`、`docs/sdk/0.5.34-SDK开发与移植指南.md` |
|
|
162
162
|
| 四 SDK 0.5.6 发布摘要、验签缓存、消息窗口与语言能力边界 | `docs/sdk/CHANGELOG-0.5.6.md` L1-73 |
|
|
163
|
-
| 四 SDK 0.5.29 应用接入、共识输入输出、resolve、上传锁与恢复、四端移植 | [应用指南](sdk/0.5.29-SDK应用集成指南.md):接入 L5-54、共识 L55-80、resolve L81-104、上传管理 L105-145、缓存/业务 L146-167、升级 L168-180;[开发与移植指南](sdk/0.5.29-SDK开发与移植指南.md):契约 L5-63、缓存/resolve L64-94、上传恢复 L95-123、四端/继承 L124-151、核查 L152-164;parity
|
|
164
|
-
| 历史 0.5.28 agent.md 校验、共识 fresh、分类控制消息、Owner 通知与风控 | `docs/sdk/0.5.28-SDK应用集成指南.md`:接入/消息 L5-95、凭证/组织 L96-137、Storage/Ownership L138-186、通知 L187-201、风控/升级 L202-228;`docs/sdk/0.5.28-SDK开发与移植指南.md`:校验 L7-36、共识 L37-62、wire L63-108、outbox L109-121、风控 L122-134、移植 L135-146;parity 历史
|
|
165
|
-
| 四 SDK 0.5.27 对照 0.5.25 源码的凭证、消息证据、状态/Usage、Gateway 迁移、时间容错、组织与 CLI;0.5.26 仅为 TS 根证书打包修正 | `docs/sdk/0.5.27-SDK应用集成指南.md`:身份连接/消息 L30-133、结构化 L134-192、语义 L193-349、组织缓存 L350-388、升级 L389-408;`docs/sdk/0.5.27-SDK开发与移植指南.md`:字节 L38-84、结构化 L85-123、语义 L124-297、组织 L298-334、迁移 L335-383、平台回归 L384-410;`python/CHANGES_FOR_PARITY.md` 历史 0.5.27
|
|
163
|
+
| 四 SDK 0.5.29 应用接入、共识输入输出、resolve、上传锁与恢复、四端移植 | [应用指南](sdk/0.5.29-SDK应用集成指南.md):接入 L5-54、共识 L55-80、resolve L81-104、上传管理 L105-145、缓存/业务 L146-167、升级 L168-180;[开发与移植指南](sdk/0.5.29-SDK开发与移植指南.md):契约 L5-63、缓存/resolve L64-94、上传恢复 L95-123、四端/继承 L124-151、核查 L152-164;parity 0.5.29 历史 L456-528 |
|
|
164
|
+
| 历史 0.5.28 agent.md 校验、共识 fresh、分类控制消息、Owner 通知与风控 | `docs/sdk/0.5.28-SDK应用集成指南.md`:接入/消息 L5-95、凭证/组织 L96-137、Storage/Ownership L138-186、通知 L187-201、风控/升级 L202-228;`docs/sdk/0.5.28-SDK开发与移植指南.md`:校验 L7-36、共识 L37-62、wire L63-108、outbox L109-121、风控 L122-134、移植 L135-146;parity 历史 L529-613,公共共识规则以 0.5.29 为准 |
|
|
165
|
+
| 四 SDK 0.5.27 对照 0.5.25 源码的凭证、消息证据、状态/Usage、Gateway 迁移、时间容错、组织与 CLI;0.5.26 仅为 TS 根证书打包修正 | `docs/sdk/0.5.27-SDK应用集成指南.md`:身份连接/消息 L30-133、结构化 L134-192、语义 L193-349、组织缓存 L350-388、升级 L389-408;`docs/sdk/0.5.27-SDK开发与移植指南.md`:字节 L38-84、结构化 L85-123、语义 L124-297、组织 L298-334、迁移 L335-383、平台回归 L384-410;`python/CHANGES_FOR_PARITY.md` 历史 0.5.27 L614-731、0.5.25 L732-800、0.5.24 L801-937、0.5.22 L938-1095,读缓存块⑦ L1023-1063/版本测试块⑧ L1064-1095 |
|
|
166
166
|
| 群 `mention_mode` 提及过滤、Agent 自主行为、SDK group.index facade 和 CAS 冲突处理 | `docs/protocol/10-Group-子协议.md`、`docs/protocol/13-Agent行为规范.md`、`docs/sdk/09-group-rpc-manual.md`、`docs/sdk/07-错误处理.md` |
|
|
167
167
|
| AUN Python CLI 源码位置、安装入口、全局选项、profile 配置和主要命令集 | `docs/cli/CLI手册.md` L3-378 |
|
|
168
168
|
| AUN Python CLI 当前实现架构、命令注册、SDK 桥接和实现边界 | `docs/cli/AUN-CLI设计文档.md` L3-279 |
|
|
@@ -184,6 +184,6 @@ AUN SDK Core 文档在 `docs/` 下。根级索引为 `docs/INDEX.md`,SDK API
|
|
|
184
184
|
| 离线消息弹性补拉:Gateway当前0/1、SDK按策略0..N、namespace并发和共享预算 | [方案正文](消息弹性补拉通道方案.md):当前Gateway同AID+设备最多授权1条,SDK现有协议测试到2;同namespace串行、不同namespace按授权/预算并行 L9-24;认证 L40-101;策略与回收 L102-201;公平/顺序/背压 L202-263;面板开关 L420-440;断线退主 L448-454;积压门槛、无新增读取下界、短连接无unread hint及统计 L456-485。旧额度结果不证明本轮规则通过。 |
|
|
185
185
|
| 弹性补拉实施与验收 | [实施计划](消息弹性补拉通道实施计划.md):交付/阶段 L6-159;四端验收 L212-235;旧额度验证证据 L338-375(不证明新规则);本轮Gateway单辅助上限、SDK 0..N策略支持、namespace并发、积压门槛、短连接与统计验收 L377-399。新Gateway cap、四SDK新规则与Ubuntu Docker验收尚待完成。 |
|
|
186
186
|
|
|
187
|
-
0.5.34 SDK 专题:应用接入见 [0.5.34 应用指南](sdk/0.5.34-SDK应用集成指南.md),四端共同契约见 [0.5.34 开发与移植指南](sdk/0.5.34-SDK开发与移植指南.md),实现级差异见 [parity 0.5.34](../python/CHANGES_FOR_PARITY.md#v0534)。文档覆盖 EventService 多角色、SQLite/IndexedDB 持久化、durable outbox、实时目录、Storage 条件 ACL、Group FS、Service Proxy 和弹性补拉。
|
|
187
|
+
[0.5.35 应用指南](sdk/0.5.35-SDK应用集成指南.md):范围 L7-20、EventService L21-61、ACK/恢复 L62-77、Echo L78-94、UDP L95-124、Mail L125-163、语言专属 L164-177、验收 L178-189;[开发与移植指南](sdk/0.5.35-SDK开发与移植指南.md):职责 L7-17、事件契约 L18-63、ACK/同步 L64-83、Echo L84-99、UDP L100-136、Mail L137-172、语言落点 L173-184、回归 L185-204。 当前 0.5.35 见 [parity](../python/CHANGES_FOR_PARITY.md#v0535) L15-90:基线/矩阵 L17-29、EventService L30-43、ACK/同步 L44-51、Echo L52-58、UDP L59-65、Mail L66-73、语言专属 L74-80、核验范围 L81-90。0.5.34 历史 SDK 专题:应用接入见 [0.5.34 应用指南](sdk/0.5.34-SDK应用集成指南.md),四端共同契约见 [0.5.34 开发与移植指南](sdk/0.5.34-SDK开发与移植指南.md),实现级差异见 [parity 0.5.34](../python/CHANGES_FOR_PARITY.md#v0534)。文档覆盖 EventService 多角色、SQLite/IndexedDB 持久化、durable outbox、实时目录、Storage 条件 ACL、Group FS、Service Proxy 和弹性补拉。
|
|
188
188
|
|
|
189
189
|
0.5.33 弹性补拉专题:应用配置与流程见 [应用指南 L404-464](sdk/0.5.33-SDK应用集成指南.md);四端共同实现见 [开发与移植指南 L413-499](sdk/0.5.33-SDK开发与移植指南.md)。索引三层入口见 [INDEX.md 的弹性补拉与0.5.33条目](INDEX.md);连接认证/回收和Message/Group存储范围及页字节字段已同步到各手册。
|
|
@@ -5,7 +5,7 @@ Ownership 版本: 2.0.0
|
|
|
5
5
|
|
|
6
6
|
本文保留 legacy Ownership 2.0 的文件格式与字段,不是当前 2.1 Schema。Ownership 2.0 的 ownership 声明由整个文件尾部签名保护;本文的第三方存储写删授权、sub 单方撤销及无关系版本示例仅适用于该历史版本。当前 2.1 的完整文件、角色、关系版本、owner 锁与六态结果以 [Ownership 协议定义 2.1](../protocol/Ownership协议定义2.1.md) 为准。
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
当前现代 `group/org` 由专属生命周期维护归属,同时使用配对 `owner.md`/`agent.md` 的 ownership.statement 并参与通用共识;普通 bind/release/transfer Facade 仍返回 not_applicable,NS 对缺少 ownership 的历史实体保留同名标记,SDK 按实际返回状态处理。现代实体私钥主签不含 signer_aid,也不要求旧 entity_cert_fingerprint;当前 owner 以本人 token 上传,可选 owner 附签且存在必须验证。Group 旧实体单签及实体身份上传持续兼容,Org 不开放该旧入口。完整声明、签名和恢复见 [协议 §2.5](../protocol/Ownership协议定义2.1.md#25-grouporg-名片的实体主签与-owner-上传);下文 legacy Schema、实体主签字段与单方撤销规则不得套用于现代 Group/Org。
|
|
9
9
|
|
|
10
10
|
## 限制
|
|
11
11
|
|
package/_packed_docs/aun/346/265/213/350/257/225/350/277/220/350/241/214/346/214/207/345/215/227.md
CHANGED
|
@@ -1273,8 +1273,8 @@ docker logs --since 30m kite-app 2>&1 | Select-String -Pattern "WAL 批量写入
|
|
|
1273
1273
|
本节适用于默认单域、分布式、双域及 cross-SDK 使用远程 Ubuntu Docker 的情况。
|
|
1274
1274
|
|
|
1275
1275
|
- Ubuntu SSH:`root@61.169.195.42`,端口 `30248`;Docker context 为 `kite-ubuntu`,远端项目目录为 `/data/kite`,Docker 数据目录为 `/data/docker`。
|
|
1276
|
-
- 本机 identity file:`C:\Users\ready\.ssh\
|
|
1277
|
-
- Windows PowerShell 登录命令:`ssh -p 30248 -i "$env:USERPROFILE\.ssh\
|
|
1276
|
+
- 本机 identity file:`C:\Users\ready\.ssh\id_ed25519`;对应公钥 `C:\Users\ready\.ssh\id_ed25519.pub` 已安装到 Ubuntu。只记录路径,不保存私钥内容,也不把私钥同步到远端。
|
|
1277
|
+
- Windows PowerShell 登录命令:`ssh -p 30248 -i "$env:USERPROFILE\.ssh\id_ed25519" -o IdentitiesOnly=yes root@61.169.195.42`。
|
|
1278
1278
|
- Ubuntu CN Compose 还需按顺序加载 `agentid.cn/local.env`、`agentid.cn/ubuntu.env`;后者由本机工作区维护并同步,固定远端 MySQL 镜像、健康卷、Redis 卷和 CN 子网,只用于远程 Docker,不用于本机 Docker。
|
|
1279
1279
|
- Ubuntu PUB Compose 还要在基础与域 Compose 后加载 `agentid.pub/ubuntu-compose.yml`,并按 `local.env`、`ubuntu.env` 顺序提供变量;镜像 SHA 指向本机源码构建并同步到 Ubuntu 的镜像。
|
|
1280
1280
|
|
package/_packed_docs/protocol/Ownership/345/215/217/350/256/256/345/256/232/344/271/2112.1.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
普通 `agent.md` 的基础读取、验签、上传与显式 pending 恢复不以前置 Ownership 共识、owner Storage 或关系状态为条件。普通正文更新须原样保留当前原件中全部关系材料的字段存在性、类型和值,并遵守本人签名和原 ETag/CAS;材料无效或依赖不可用不能阻断这种更新。增删改关系字段继续执行当前双文件授权核验,不能借普通名片入口清除或替换 owner 锁。
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
本协议的双文件声明与共识适用于 `human` 以外的主体,包含现代 `group/org`;`human` 禁止声明 owner。自 SDK 0.5.31 起,Group/Org 使用相同的 `ownership.statement` 和 `owner.md`,但绑定、释放及转移仍由第 1.3 节的专属生命周期编排,普通 Ownership 管理入口不直接操作群/组织。通用关系双方独立签署自己的声明文件;Group/Org 由实体签署名片、当前 owner 上传,见第 2.5 节。本协议不定义 ownership 专用授权 RPC 或权威关系控制方法,也不提供协议层关系申请、接受、拒绝方法。SDK 可以使用普通加密 P2P 载荷进行非权威编排,也可在持有各方身份材料时直接执行本地编排;当前流程不要求独立 decisions 接口或不可变审批记录。载荷和本地调用结果均不能替代双方文件及 NS 验收,具体流程见[当前应用指南](../sdk/Ownership2.1-SDK应用集成指南.md)。可选托管由应用层实现,不改变文件的签署身份及资源权限。
|
|
8
8
|
|
|
9
9
|
兼容方向为新服务端保留旧 SDK 的既有身份认证、普通名片、通信和 legacy owner 操作入口;新 SDK 的 2.1 关系操作不兼容旧服务端。兼容旧 SDK 所需的注册、绑定、转移、查询和解绑 RPC 使用隔离的 Auth JSONL 状态及 NS `ownership_proof`,只处理 legacy 关系;它们不生成 2.1 双文件声明,不构成 2.1 授权、owner 锁、关系版本或 `consensus`,也不得覆盖已存现代声明。Ownership 2.1 当前关系始终重新核对两份当前文件;不把新 SDK 源码调用形态兼容作为本契约要求。
|
|
10
10
|
|
|
@@ -51,11 +51,11 @@ Storage 须在文件、父目录、移动、重命名及自动清理等所有能
|
|
|
51
51
|
|
|
52
52
|
### 1.3 Group/Org 的专属 owner 生命周期
|
|
53
53
|
|
|
54
|
-
`type=group/org` 的 owner
|
|
54
|
+
`type=group/org` 的 owner 由 Group/Org 服务的当前权威生命周期确定;SDK 在创建、转移和解散流程中同步编排 Ownership 2.1 材料。现代实体同样使用 owner 的 `owner.md`、实体 `agent.md` 中的配对声明、`relation_version` 和双文件关系保护,并可通过通用共识入口查询。共识还须核对当前生命周期 owner、状态及实体证书,不能用声明文件单独改变生命周期归属。普通 Ownership 绑定、释放、转移 Facade 仍在副作用前返回 `not_applicable`、`retryable=false`,不自动转调用生命周期方法;这项管理入口限制不适用于现代实体的声明解析及共识查询,也不放宽管理入口的 owner 类型限制。
|
|
55
55
|
|
|
56
56
|
Group 使用 `group.transfer_owner` → `group.complete_transfer` 的两阶段转移;Org 使用既有 `org.lifecycle.transfer` → `org.lifecycle.transferAccept`。两者都必须真正 rekey,使证书及公钥指纹变化,旧身份材料不再授权当前操作,新材料归新 owner 持有;Org 的 rekey 与 owner CAS 顺序保持其专属 0.8 契约。创建时实体身份公私钥及证书由初始 owner 持有,业务服务不保存实体私钥。解散后不再存在可用 owner 授权,旧身份材料和待上传文件不能继续鉴权或发布名片。
|
|
57
57
|
|
|
58
|
-
新 SDK 发布的 Group/Org 名片必须含当前 `owner
|
|
58
|
+
新 SDK 发布的 Group/Org 名片必须含当前 `owner` 及配对的 `ownership.statement`,省略旧 `ownership_proof`、`ownership_release` 和 `entity_cert_fingerprint`。实体私钥生成不带 `signer_aid` 的主签,当前 owner 使用本人 token 上传;可选附签按完整签名链验证。owner 先以本人身份在自有 Storage 发布 `owner.md`,实体再条件发布名片并确认新鲜共识。Group 旧实体单签及实体身份上传持续兼容,Org 不开放该旧入口,见第 2.5 节。实体类型和当前 owner 必须以权威身份及生命周期记录校验,不能只相信上传文件中的 `type/owner`。
|
|
59
59
|
|
|
60
60
|
Org 生命周期向 CA 可信登记权威 Org 类型;分类只标识 AID 类型,不保存 owner 关系。Org 创建提交前完成登记,恢复时含 dissolved 的存量记录每批最多 256 条登记,全部成功后才持久标记分类回填完成。初签、轮换和导入不得覆盖已登记 Org 类型,Org 证书沿用 `signing` purpose。NS 仅在 CA 明确返回分类完成时将未登记的 normal 身份按普通主体处理;回填未确认时保留保守生命周期核验,Org 或 CA 故障不能降为普通身份。完成后普通主体 PUT 不再逐次查询 Org;Org 自身仍执行其生命周期校验。
|
|
61
61
|
|
|
@@ -86,8 +86,8 @@ Org 生命周期向 CA 可信登记权威 Org 类型;分类只标识 AID 类
|
|
|
86
86
|
| `description` | 可选字符串,最多 100 个 Unicode 字符。 |
|
|
87
87
|
| `avatar` | 可选字符串,最多 256 个 Unicode 字符。 |
|
|
88
88
|
| `tags` | 可选字符串数组。 |
|
|
89
|
-
| `owner` |
|
|
90
|
-
| `ownership` |
|
|
89
|
+
| `owner` | 非 human 主体可选字符串,出现时必须同时出现 `ownership`;现代 Group/Org 填当前生命周期 owner AID。历史实体 owner-only 格式仅按第 2.5 节兼容读取,不构成双文件共识。 |
|
|
90
|
+
| `ownership` | 非 human 主体可选对象,只允许包含 `statement`;现代 Group/Org 使用相同格式。 |
|
|
91
91
|
|
|
92
92
|
`owner.md` 的顶层只允许 `owner_aid`、`sub_aid`、`ownership`,三者均必填;不要求 `aid`、`name`、`type` 或名片版本字段。其 AID 必须与 statement 及规范路径一致。文件角色由资源位置确定,不能改用另一角色的规则接受不匹配文件。
|
|
93
93
|
|
|
@@ -117,7 +117,7 @@ statement:
|
|
|
117
117
|
| `relation_version` | `1..9007199254740991` 的整数,只用于两份当前签名声明的匹配;由双方在声明中明确一致取值,SDK 默认取当前可见基数加一(无声明时为 `1`),转移目标使用当前匹配版本加一。NS 不单独维护版本上界。 |
|
|
118
118
|
| `declared_at` | 被文件签名覆盖的 Unix 秒整数,范围 `1..9007199254740991`。 |
|
|
119
119
|
|
|
120
|
-
|
|
120
|
+
现代 `agent.md` 出现 `owner` 时必须同时出现 `ownership.statement`;`owner` 等于声明中的 `owner_aid`,`aid` 等于 `sub_aid`。无 owner 时两者同时省略;`human` 类型不能声明这两个字段。现代 Group/Org 同样使用本节声明,并额外遵守第 1.3、2.5 节的生命周期和实体签名约束;历史 owner-only 实体格式不因此成为现代声明。
|
|
121
121
|
|
|
122
122
|
普通正文、名称等更新必须完整保留已锁定的 `owner` 和 `ownership.statement`。不能只保留 owner 字符串、删除声明,也不能将完整关系降级为单方声明。
|
|
123
123
|
|
|
@@ -172,7 +172,7 @@ signature: <严格Base64编码的DER签名>
|
|
|
172
172
|
|
|
173
173
|
仅向已有签名链末尾追加时,保持现有全部字节,并在末字节既非 LF 也非 CR 时补一个 LF;无旧块仍按首签要求正文以 CR/LF 结束,否则拒绝。该 LF 属于新块所签 prefix,不改变旧主签输入。修改、重排或删除前序块会令后续验签失败;删除末端块可形成有效短链,verify 只返回实际签名列表,不承诺检测末端截断。
|
|
174
174
|
|
|
175
|
-
附签必填 `signer_aid`,须与该块证书 AID 一致;通用容器可解析主块的可选 signer_aid
|
|
175
|
+
附签必填 `signer_aid`,须与该块证书 AID 一致;通用容器可解析主块的可选 signer_aid,但现代 agent.md(含 Group/Org)和 owner.md 主块不输出且业务拒绝该字段;旧实体主块显式 signer_aid 的兼容边界见第 2.5 节。各块仅允许表中四字段及 `signer_aid`,重复或未知字段拒绝;相同签署者可多次追加,不据此增加授权。verify 必须逐块全验,任一块失败不能只采用主签结果。证书沿用可信 resolver 按 AID/指纹获取,不增加证书链字段。
|
|
176
176
|
|
|
177
177
|
`declared_at`、`expires_at`、`timestamp` 只接受无符号、无前导零的十进制正整数原词法;拒绝零、负数、布尔、字符串、浮点、科学计数、十六进制及越界值。先校验词法和范围,再转换数字或日期;无效输入归 `invalid`,不能因日期转换失败归 `unavailable`。表示范围不替代证书有效期、当前时钟和授权未过期校验,也不另设年份或最长授权期限上界。
|
|
178
178
|
|
|
@@ -182,23 +182,23 @@ signature: <严格Base64编码的DER签名>
|
|
|
182
182
|
|
|
183
183
|
### 2.5 Group/Org 名片的实体主签与 owner 上传
|
|
184
184
|
|
|
185
|
-
|
|
185
|
+
现代名片的 `aid` 是实体 AID,`type` 为 `group` 或 `org`,`owner` 是当前生命周期 owner,并包含与 owner 自有 Storage 中 `owner.md` 配对的 `ownership.statement`。新 SDK 不输出旧 `entity_cert_fingerprint`、`ownership_proof`、`ownership_release`;第一尾签块由实体当前私钥签署,不带 `signer_aid`,以尾签证书指纹及可信 CA 当前材料核对实体代际。Group 使用 `group_identity` 证书,Org 使用 `signing`;可选 owner 附签仍须逐块验证,不能替代主签、双文件共识或当前生命周期核验。
|
|
186
186
|
|
|
187
187
|
现代上传使用当前 owner 的有效 token,无需实体登录;不再生成或强制实体专用 `AUN-AGENTMD-OWNER-AUTHORIZATION` V2 头。token 证明使用了该有效凭据,不证明本人操作,也不替代离线 owner 附签。普通 Ownership 既有 V1 兼容授权不因此变更。Group 始终兼容当前实体证书单签、实体身份上传的旧流程,仍执行生命周期、证书和文件 CAS 检查;Org 不开放该旧入口。
|
|
188
188
|
|
|
189
189
|
旧0.5.19保留独立的 owner 主签 V2 兼容入口:请求无 multi-v1,文件仅一块主签,显式 signer_aid 等于正文 owner 且不同于实体 aid,正文 owner/entity_cert_fingerprint 完整合法。原 marker 可为裸或已有 tag,不能据 marker、UA 或尾签时间证明客户端版本。须有当前 owner token、原 `AUN-AGENTMD-OWNER-AUTHORIZATION` V2 授权和原 HTTP 条件;严格核对 target、uploader、完整原文摘要、实体当前指纹、owner 证书指纹、nonce、±300秒授权窗口及签名,并核对当前权威类型、owner、状态和实体代际,按完整快照 CAS 提交。该例外证明 owner 对原件的授权,不证明持有实体私钥;现代 multi-v1 上传仍必须实体主签。更早 Group 实体身份旧入口不因此增加 V2 要求。
|
|
190
190
|
|
|
191
|
-
|
|
191
|
+
历史 owner-only 实体文件保留读取兼容,不构成双文件共识,也不得覆盖或降级已存现代声明。旧格式按其适用规则检查 `entity_cert_fingerprint` 与主签 `signer_aid`;仅特定旧 Group 单签格式允许省略实体指纹,不能将该豁免推广到 Org。fresh 及 Storage 副本验证仍识别上述单块 owner 主签原件,核对当前权威 owner/实体代际和完整签名,不要求读取时提供未持久化的 V2 请求头。公开历史 verified 下载按实际签署者及历史证书验证原字节,不要求历史 owner 或证书代际仍为当前;实体指纹字段不与 owner 主签证书指纹混为一谈。历史读取例外不扩展到多块 owner 主签文件或现代写入,历史验签不授予当前权限。
|
|
192
192
|
|
|
193
|
-
NS
|
|
193
|
+
NS 对现代实体复用通用声明、Storage `owner.md`、关系保护和名片 CAS,并新鲜核对权威类型、生命周期状态、当前 owner、实体当前证书及所有签名,再允许提交。实体代际由主签证书与可信当前证书核对,不再依赖 frontmatter 的旧 `entity_cert_fingerprint`;证书代际和双文件 `relation_version` 不是同一概念。非当前 owner 的现代上传为 `forbidden`,声明 owner 与生命周期冲突、旧实体证书代际为 HTTP 409 / `conflict`,确定非法字段或签名为 `invalid`;生命周期、数据库或证书依赖不可用为 HTTP 503 / `unavailable`。沿用既有 PKI current HTTP 查询,不新增 RPC、证书链字段或独立关系账本;Group 旧入口不能据此开放 Org 或降级现代关系。
|
|
194
194
|
|
|
195
|
-
实体 fresh GET 必须同时携带 `X-AUN-Ownership-Check: 1`、`Cache-Control: no-cache`、`X-AUN-Signature-Format: multi-v1
|
|
195
|
+
实体 fresh GET 必须同时携带 `X-AUN-Ownership-Check: 1`、`Cache-Control: no-cache`、`X-AUN-Signature-Format: multi-v1`,绕过 LRU 并执行新鲜检查。现代声明进入通用双文件共识,使用第 3.3 节的协议、关系版本、lock 和结果 Header,不能按实体类型直接返回 `not_applicable`。仅缺少 `ownership` 的历史实体格式保留该标记及适用的实体 current/stale、权威 owner/证书指纹响应头;这些头不是现代共识证明。GET/HEAD 按协商表示返回 ETag,历史文件中的 owner 不作为当前权限。确实缺失为 404、无 ETag;权威依赖失败为 503,不能伪装 404 或未绑定。
|
|
196
196
|
|
|
197
|
-
新 SDK 首次发布用 `If-None-Match: *`,更新用原表示 `If-Match`;缺条件为 428,ETag 冲突为 412
|
|
197
|
+
新 SDK 首次发布用 `If-None-Match: *`,更新用原表示 `If-Match`;缺条件为 428,ETag 冲突为 412。实体名片失败稿/pending 保留完整签名原文、原 CAS、固定 owner 及签名证书代际,应用显式重试先验证原件和当前生命周期,仅重传仍可提交的原字节;不更换 owner、证书或条件重签旧稿。创建/转移自身的检查点恢复另行保留,并复用同一关系版本。访问历史实体时,SDK 按当前身份和成功连接代际对单实体合并一次检查:先预筛本地实体材料,可用的本地共识匹配 owner 时直接结束;否则确认 active 生命周期 owner 后查询共识,具备本人及实体私钥时才补齐声明。失败不在本连接自动反复重试,真实重连后可重查;不在启动时遍历全部实体重传名片。现代上传不需额外 V2 授权;旧入口仍按原规则验证。原条件完整且原文及 ETag 已证明提交时可仅观察完成。
|
|
198
198
|
|
|
199
|
-
新 SDK
|
|
199
|
+
新 SDK 通过 NS 查询当前双文件共识;补齐及生命周期编排另核对当前权威 owner、状态和实体签名材料,不信 raw owner 或历史实体响应头。owner 先条件发布本人签名的 `owner.md`,实体再签署配对名片并以 owner token 条件上传,完成后强制查询共识并核对 owner 和关系版本。首次历史补齐默认 v=1,同 owner 重试复用已有匹配声明;换 owner 须有旧 owner 指定目标的有效转移授权并使用 v+1,不能覆盖为新的无主绑定。公开 verified 下载逐块按签署者、尾签指纹和时间查询历史证书并验原始字节,不要求历史证书当前仍可签;历史验签不授予当前权限。确定坏签名或无效链为 `invalid`,依赖不可用为 `unavailable`,不能当成缺失关系补写。
|
|
200
200
|
|
|
201
|
-
NS
|
|
201
|
+
NS 的旧实体上传分支及 legacy h.put 沿用专用 Auditf 的 INFO event,记录 request_id、操作者、目标、权威类型、完整文件摘要、签名模式及转义字段;提交成功记 committed,拒绝记 rejected,操作失败记 failed。现代实体走通用 Ownership PUT,不能把旧分支日志覆盖等同于全部现代路径。沿用 NS 日志,不新增审计服务或关系账本;数据库与日志非原子,不承诺无遗漏,Storage 副本失败不改写已提交结果。
|
|
202
202
|
|
|
203
203
|
## 3. Name Service 的锁定规则
|
|
204
204
|
|
|
@@ -343,7 +343,7 @@ flowchart TB
|
|
|
343
343
|
|
|
344
344
|
原 owner 的有效 release 或权威删除使当前关系结果为 `released`。NS 不创建释放记录、不递增版本;sub 离线不妨碍当前校验方停止授予 owner 权限,sub 随后自行清理名片中的关系字段。
|
|
345
345
|
|
|
346
|
-
release
|
|
346
|
+
release 发布后,旧关系不能通过新鲜授权检查;当前关系声明依据 NS 当前 `agent.md` 与 owner 当前 `owner.md`;Group/Org 授权另须核对当前生命周期及实体证书。sub 的旧声明清理前须保留 release;sub 清理或转入另一有效关系后,owner 可核对当前 NS 及本任务完整原件后清理旧文件,不能只等待固定时长。
|
|
347
347
|
|
|
348
348
|
原 owner 自签发布的 release `owner.md`(原路径、被释放版本 `1`):
|
|
349
349
|
|
|
@@ -642,11 +642,11 @@ Storage 不满足第 1.2 节的完整原子发布要求时,不得发布 `owner
|
|
|
642
642
|
|
|
643
643
|
## 6. 共识、审计与安全边界
|
|
644
644
|
|
|
645
|
-
|
|
645
|
+
共识的关系声明依据 NS 当前签名 `agent.md` 与 owner 当前签名 `owner.md`;Group/Org 还须按第 1.3、2.5 节校验当前生命周期 owner、状态及实体证书。本次校验期间完整文件、存在性和 ETag须保持一致;返回 `consensus` 时,两份声明的关系版本和双方 AID 必须匹配,签名及证书校验须通过。owner 的 `declare`、尚未提交的 `transfer_owner` 均可证明当前旧关系;转移授权过期不影响该旧关系声明。当前 release 或权威删除不能返回 `consensus`。响应 Header 只投影本次两份材料的校验结果,不能替代材料或新增事实。
|
|
646
646
|
|
|
647
647
|
self-owner 验证通过同样返回 `consensus`,仅证明该 AID 的自主管理声明;校验依据与外部关系相同。
|
|
648
648
|
|
|
649
|
-
|
|
649
|
+
下表六态同样适用于现代 Group/Org 的双文件共识;实体还须满足第 1.3、2.5 节的生命周期和当前证书约束。NS 对缺少 `ownership` 的历史实体格式保留 `not_applicable` 标记,不把 owner-only 名片解释为双文件共识;普通管理 Facade 的 `not_applicable` 另属入口限制,不能用于否定现代实体共识。
|
|
650
650
|
|
|
651
651
|
| 结果 | 含义 |
|
|
652
652
|
| --- | --- |
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# echo 探针协议 — Gateway / Message / Group 实现规范
|
|
2
|
+
|
|
3
|
+
**状态**:v3.2,单 hop 全程递减规范
|
|
4
|
+
**日期**:2026-11-11
|
|
5
|
+
**适用**:本项目 AUN Gateway、Message、Group
|
|
6
|
+
**配套文档**:[`echo-probe-sdk.md`](./echo-probe-sdk.md)
|
|
7
|
+
|
|
8
|
+
## 1. 节点职责
|
|
9
|
+
|
|
10
|
+
| 节点 | 实际处理边界 |
|
|
11
|
+
|---|---|
|
|
12
|
+
| `AUN-Gateway.route` | 客户端、服务间或联邦 RPC 入站路由 |
|
|
13
|
+
| `AUN-Gateway.push` | 向客户端投递 message/group 事件 |
|
|
14
|
+
| `AUN-Message.relay` | 单聊 Message 转发 |
|
|
15
|
+
| `AUN-Group.relay` | 群聊 Group 转发 |
|
|
16
|
+
|
|
17
|
+
去程、回程使用相同节点名,由 dir 区分。每次实际经过都附行,包括后续 Gateway、同域多实例、跨域和相同名称的节点;不固定假设探针必定经过多少行或必定走满链路。
|
|
18
|
+
|
|
19
|
+
## 2. 识别与正文
|
|
20
|
+
|
|
21
|
+
只检查第一行,移除该行前导空白,再按最长前缀、大小写不敏感判断。
|
|
22
|
+
|
|
23
|
+
| 前缀 | 后继边界 | 处理 |
|
|
24
|
+
|---|---|---|
|
|
25
|
+
| `echo.ecdiag` | 空白或行尾 | 与 echo 相同,网络节点允许附行 |
|
|
26
|
+
| `echo.ask` | 空白或行尾 | 与 echo 相同 |
|
|
27
|
+
| `echo` | 空白、`[` 或行尾 | 计数、附行、必要时提前回送 |
|
|
28
|
+
|
|
29
|
+
` echo hop=5`、`ECHO`、`echo[tag]` 均命中;`hello echo`、`echoes`、`echo.path` 不命中。不按正文或首行长度决定是否命中。
|
|
30
|
+
|
|
31
|
+
命中后仅移除第一行前导空白,保留原 echo 的其余首行内容、参数、正文及历史 trace。新增信息从第二行开始,以换行追加,不能覆盖或重排原文。
|
|
32
|
+
|
|
33
|
+
## 3. Payload 与唯一跳数
|
|
34
|
+
|
|
35
|
+
明文 payload 使用 `type=text`、`text`、`hop`,另以 `dir=fwd|ret` 标记方向。**跳数字段只有 hop**,删除旧诊断字段 max_hop/rhop,不再使用或生成。
|
|
36
|
+
|
|
37
|
+
有效 payload.hop 优先于首行 `hop=N`,两者都没有时默认 **100**。服务与四 SDK 统一使用 JSON 安全整数范围 `[-9007199254740991, 9007199254740991]`,首行允许 `+` / `-` 符号;布尔值、字符串型 payload.hop 和非整数无效,按首行参数或默认值处理。整数超出范围或递减结果超出范围时必须明确报错,不能回退 100。首次发起用非负预算,负数表示已经提前返程,不得重置或归零。历史 trace 不作为控制字段的权威来源。普通消息不自动注入诊断字段。
|
|
38
|
+
|
|
39
|
+
hop 为负数时必须按返程处理,即使旧 dir 仍为 fwd;其余情况优先读取有效 payload.dir,缺少有效方向时兼容正文独立行 `[AUN-Echo.return]`。非负 hop 的显式 dir=fwd 优先于旧标记。方向不能仅由正文最后一行推断。
|
|
40
|
+
|
|
41
|
+
### 3.1 去程
|
|
42
|
+
|
|
43
|
+
每个实际节点读取 hop,先执行 `hop = max(hop - 1, 0)`,再用结果附 dir=fwd 行并传递该值。
|
|
44
|
+
|
|
45
|
+
**减到 0 必须停止前送并立即提前返程**。收到 hop=0 也立即返程,不减到负数。Gateway、Message、Group 都必须生成完整回包,不能只停止、丢弃或以超时作为预期结果。
|
|
46
|
+
|
|
47
|
+
### 3.2 回程
|
|
48
|
+
|
|
49
|
+
反射节点把 dir 改为 ret,继续把 hop 减 1,写自己的回程行,沿原路返回。去程到 0 提前返程时,反射节点写 -1,上游依次写 -2、-3。正常业务终点尚未耗尽时可用 dir=ret 进入回程,后续每个实际回程节点同样先减 1 再写行。
|
|
50
|
+
|
|
51
|
+
例如初始 hop=3:SDK 去程 2 → Gateway 1 → Message 0;Message 回程 -1 → Gateway -2 → SDK -3,交付应用。
|
|
52
|
+
|
|
53
|
+
回程不再受去程预算阻断,不因 hop 为 0 或负数丢弃,不重新反射;正常回程跨过 0 时也继续递减。一个实际处理边界只计一次;终点有去程、回程两行,普通消息构造、持久化或复制事件不是额外网络节点。
|
|
54
|
+
|
|
55
|
+
## 4. 完整提前回送
|
|
56
|
+
|
|
57
|
+
沿原同步 RPC 调用链返回 `status=echo_return`,保留完整 payload、message_id 及适用的 from/to/group_id。上游不得把结果降为投递数、空成功结果或仅保留状态码。
|
|
58
|
+
|
|
59
|
+
Gateway 入站、push、后续 session-owner Gateway、联邦转发、Message、Group 均须传回下游获得的完整响应,并各自附本节点回程行。
|
|
60
|
+
|
|
61
|
+
Message 和 Group 都有同步回包通道;到限必须回送,不能要求发起者等待超时。同步 echo 诊断路径不强制落库,也不进入业务消息去重;重试相同 message_id 仍按实际经过附行、保留完整 echo_return。普通消息存储和去重策略不受影响。
|
|
62
|
+
|
|
63
|
+
需要取得回程结果的 echo 路径不得放入丢弃结果的异步队列。保留实际群成员路由,每个已执行分支保留完整 trace;回送定向原发起者、保留 group_id,不把诊断响应广播给全群。现有单 RPC 返回已获得的诊断结果,不自动聚合所有群成员。接收 SDK 发起的定向回送是新的异步请求,不保证同一物理 Gateway。
|
|
64
|
+
|
|
65
|
+
收件人待机且仅能唤醒时,Gateway 应在本跳完整提前回送并记录原因,不能只返回 woken。离线、零投递、写入失败、owner 不可用等无法继续的情况,必须完整提前回送或通过现有 RPC 错误如实报告,不能返回 sent。message_id 应在提前返回前补齐,适用 group_id 在本域、联邦和回包中均须保留。
|
|
66
|
+
|
|
67
|
+
SDK 本地早停和服务端回包均必须进入应用接收事件,具体见配套 SDK 文档。
|
|
68
|
+
|
|
69
|
+
## 5. 明文约束
|
|
70
|
+
|
|
71
|
+
不支持加密 echo,由 SDK 在加密前识别并强制明文。服务端仅处理可见的明文 echo。
|
|
72
|
+
|
|
73
|
+
收到 encrypted/encrypt 标记、e2ee.* payload 或密文数据时,按普通消息原样处理,不追加 trace、不改密文、不尝试解密寻找前缀。这不构成加密 echo 的支持或验收。
|
|
74
|
+
|
|
75
|
+
## 6. 每跳 Trace 与耗时
|
|
76
|
+
|
|
77
|
+
`HH:MM:SS.mmm [node] dir=fwd|ret hop=N enc=0 ver=VERSION epoch=MS tz=±HH:MM [duration_ms=N] <节点字段>`
|
|
78
|
+
|
|
79
|
+
每行包含墙钟前缀、节点、dir、hop、enc、ver、epoch、tz,毫秒之后紧跟空格。ver 取服务编译版本,取不到为 unknown。route 保留 from/to/conn_uptime,push 保留 to,Message/Group 保留 from/to 及适用群标识。
|
|
80
|
+
|
|
81
|
+
每条回程行包含自身真实 duration_ms。同步获得 echo_return 时,用本地单调时钟测请求入口至形成回程结果,包含等待下游;新的定向返程请求没有原去程上下文,测本节点本次请求入口到向下一节点交接正文的处理时间。不得固定填 0 或用跨机器 epoch 差值代替。
|
|
82
|
+
|
|
83
|
+
不去重:同名节点、同方向或重复实际处理也必须附行。不设 echo 专用长度限制,不截断、不添加 `[TRUNCATED]`。通用传输层限制导致的失败必须如实返回,不得静默丢失 trace。
|
|
84
|
+
|
|
85
|
+
## 7. 实现入口
|
|
86
|
+
|
|
87
|
+
| 服务 | 现有入口 |
|
|
88
|
+
|---|---|
|
|
89
|
+
| Gateway | `extensions/services/gateway/go/internal/httpserver/server.go` 的 route、push、dispatch、后续 Gateway 与联邦路径 |
|
|
90
|
+
| Message | `extensions/services/message/go/internal/legacy/service.go`、`cmd/message-go/main.go` 的本域与联邦同步转发 |
|
|
91
|
+
| Group | `extensions/services/group/go/internal/service/send_message.go`、`relay_event.go` 及 rpc/cmd 的本域与联邦路径 |
|
|
92
|
+
|
|
93
|
+
保持模块独立实现,不引入跨模块共享代码。路由元数据 `_route`、RPC 级 `_trace` 与 echo 正文诊断分开。
|
|
94
|
+
|
|
95
|
+
## 8. 验收
|
|
96
|
+
|
|
97
|
+
更新已有测试,覆盖默认 hop=100、payload 优先首行参数、每个节点去程减 1、到 0 停止前送并完整回送、反射及上游每条回程继续减 1、负 hop 自动识别为返程、仅 hop 一个跳数字段、三前缀、前导空白移除、首行与其余正文保留、长正文和重复节点继续附行、普通密文不变、真实回程耗时、单聊/群聊/跨域/多 Gateway 的完整回包不被异步路径或投递统计吞掉。
|
|
98
|
+
|
|
99
|
+
不启动 Kite 或部署环境作为本机单元测试的一部分。外部 App、Rust SDK、EvolCore 的完整链路验收另行开展。
|