@agentunion/fastaun 0.5.28 → 0.5.29
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 +19 -0
- package/_packed_docs/CHANGELOG.md +19 -0
- package/_packed_docs/INDEX.md +9 -4
- package/_packed_docs/KITE_DOCS_GUIDE.md +4 -3
- package/_packed_docs/cli//345/207/255/350/257/201/344/270/216/347/273/204/347/273/207/346/234/215/345/212/241CLI/345/274/200/345/217/221/344/270/216/344/275/277/347/224/250/346/214/207/345/215/227.md +869 -0
- package/_packed_docs/sdk/0.5.27-SDK/345/272/224/347/224/250/351/233/206/346/210/220/346/214/207/345/215/227.md +408 -0
- package/_packed_docs/sdk/0.5.27-SDK/345/274/200/345/217/221/344/270/216/347/247/273/346/244/215/346/214/207/345/215/227.md +410 -0
- package/_packed_docs/sdk/0.5.28-SDK/345/272/224/347/224/250/351/233/206/346/210/220/346/214/207/345/215/227.md +228 -0
- package/_packed_docs/sdk/0.5.28-SDK/345/274/200/345/217/221/344/270/216/347/247/273/346/244/215/346/214/207/345/215/227.md +146 -0
- package/_packed_docs/sdk/0.5.29-SDK/345/272/224/347/224/250/351/233/206/346/210/220/346/214/207/345/215/227.md +180 -0
- package/_packed_docs/sdk/0.5.29-SDK/345/274/200/345/217/221/344/270/216/347/247/273/346/244/215/346/214/207/345/215/227.md +164 -0
- package/_packed_docs/sdk/09-/347/273/204/347/273/207/346/234/215/345/212/241RPC/346/211/213/345/206/214.md +90 -90
- package/_packed_docs/sdk/AUN_DOCS_GUIDE.md +5 -3
- package/_packed_docs/sdk/INDEX.md +12 -4
- package/_packed_docs/sdk//345/207/255/350/257/201/344/270/216/347/273/204/347/273/207/346/234/215/345/212/241SDK/345/272/224/347/224/250/351/233/206/346/210/220/346/214/207/345/215/227.md +1 -1
- package/_packed_docs/sdk//345/207/255/350/257/201/344/270/216/347/273/204/347/273/207/346/234/215/345/212/241SDK/345/274/200/345/217/221/344/270/216/347/247/273/346/244/215/346/214/207/345/215/227.md +1 -1
- package/_packed_docs//346/216/247/345/210/266/346/266/210/346/201/257/344/270/216/350/256/276/345/244/207/350/203/275/345/212/233/345/215/217/345/225/206/346/226/271/346/241/210.md +426 -0
- package/_packed_docs//346/266/210/346/201/257/345/220/214/346/255/245/344/270/216/345/216/206/345/217/262/346/213/211/345/217/226/344/273/243/347/240/201/345/256/241/346/237/245/351/227/256/351/242/230/346/270/205/345/215/225.md +279 -229
- package/_packed_docs//351/243/216/346/216/247/345/223/215/345/272/224/344/270/216SDK/345/215/217/345/220/214/346/226/271/346/241/210.md +381 -0
- package/dist/agent-md-changes.d.ts +2 -14
- package/dist/agent-md-changes.js +41 -212
- package/dist/agent-md-changes.js.map +1 -1
- package/dist/agent-md-schema.js +2 -2
- package/dist/agent-md-schema.js.map +1 -1
- package/dist/agent-md.d.ts +4 -6
- package/dist/agent-md.js +53 -53
- package/dist/agent-md.js.map +1 -1
- package/dist/aid-store.d.ts +3 -1
- package/dist/aid-store.js +61 -40
- package/dist/aid-store.js.map +1 -1
- package/dist/client/control-messages.js +28 -6
- package/dist/client/control-messages.js.map +1 -1
- package/dist/client/delivery.js +2 -1
- package/dist/client/delivery.js.map +1 -1
- package/dist/client/group-state.js +2 -3
- package/dist/client/group-state.js.map +1 -1
- package/dist/client/lifecycle.js +0 -2
- package/dist/client/lifecycle.js.map +1 -1
- package/dist/client/v2-e2ee.js +8 -4
- package/dist/client/v2-e2ee.js.map +1 -1
- package/dist/client.d.ts +2 -2
- package/dist/client.js +96 -46
- package/dist/client.js.map +1 -1
- package/dist/discovery.js +2 -1
- package/dist/discovery.js.map +1 -1
- package/dist/ownership-v21.d.ts +2 -1
- package/dist/ownership-v21.js +17 -3
- package/dist/ownership-v21.js.map +1 -1
- package/dist/ownership-workflow.js +9 -5
- package/dist/ownership-workflow.js.map +1 -1
- package/dist/semantic-facade.js +4 -2
- package/dist/semantic-facade.js.map +1 -1
- package/dist/semantic-protocol.js +2 -0
- package/dist/semantic-protocol.js.map +1 -1
- package/dist/tools/cross-sdk-agent.d.ts +1 -1
- package/dist/tools/cross-sdk-agent.js +16 -34
- package/dist/tools/cross-sdk-agent.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +8 -8
|
@@ -1,90 +1,90 @@
|
|
|
1
|
-
# 组织服务 RPC 手册
|
|
2
|
-
|
|
3
|
-
本文按 Org Service 当前服务端 dispatcher 列出 RPC。组织业务方法经 Gateway service-plane 路由;普通调用使用 `client.org` facade 或 `client.call(method, params)`。
|
|
4
|
-
|
|
5
|
-
## 方法索引
|
|
6
|
-
|
|
7
|
-
| 方法组 | 方法 |
|
|
8
|
-
|------|------|
|
|
9
|
-
| 诊断 | `org.health`、`org.status` |
|
|
10
|
-
| 生命周期 | `org.lifecycle.create/get/list/update/suspend/resume/dissolve/transfer/transferAccept` |
|
|
11
|
-
| 成员关系 | `org.member.join/approveJoin/rejectJoin/invite/inviteAccept/inviteReject/renewCredential/list/get/leave/kick/offboard/freeze/unfreeze/ban/unban` |
|
|
12
|
-
| 凭证查询 | `org.credential.getStatus`、`org.credential.revocationList` |
|
|
13
|
-
| 审计与授权 | `org.audit.query`、`org.authz.check` |
|
|
14
|
-
| 内部接口 | `org.member.add`、`org.membership.reserve/get/commit/release` |
|
|
15
|
-
| 保留但未实现 | `org.resource.create`、`org.task.create`、`org.host.add`、`org.workflow.create` |
|
|
16
|
-
|
|
17
|
-
## 通用请求约定
|
|
18
|
-
|
|
19
|
-
除 `org.health`、`org.status` 和 Name Service 受信内部读取 `org.lifecycle.get` 外,Org dispatcher 会验证完整方法名对应的 `client_signature`。业务请求由 `org.prepareRequest` / `prepare_request` / `PrepareRequest` 准备:加入与组织匹配的 `aad.org_id`,并按具体方法生成 `request_binding`、nonce 和外层签名。认证主体由会话确定,不能由请求参数替代。
|
|
20
|
-
|
|
21
|
-
公开组织的 `org.lifecycle.get/list` 按可见性返回公开字段;显式请求受保护字段时仍需对应成员授权。`org.member.list/get`、`org.credential.getStatus` 和 `org.credential.revocationList` 是受保护业务读取,需当前成员 binding、CAP、AAD、request binding 和签名。读取方法不能因无副作用而跳过授权。
|
|
22
|
-
|
|
23
|
-
下面表格中的业务字段不含连接级认证字段及请求准备字段。成功结果按 JSON-RPC `result` 返回;结构化业务错误码位于 `error.data.error_code`。
|
|
24
|
-
|
|
25
|
-
## 诊断方法
|
|
26
|
-
|
|
27
|
-
| 方法 | 参数 | 结果 |
|
|
28
|
-
|------|------|------|
|
|
29
|
-
| `org.health` | 无 | `status`、实现信息、服务 AID、数据库和签名身份可用性 |
|
|
30
|
-
| `org.status` | 无 | 模块状态、服务 AID、数据库连接、运行时间和构建信息 |
|
|
31
|
-
|
|
32
|
-
诊断结果只反映服务状态,不代表组织成员或凭证授权有效。
|
|
33
|
-
|
|
34
|
-
## 组织生命周期
|
|
35
|
-
|
|
36
|
-
| 方法 | 主要业务参数 | 成功结果 |
|
|
37
|
-
|------|------|------|
|
|
38
|
-
| `org.lifecycle.create` | `org_id`、`name`、`exttype`、`join_mode`、`visibility`、`owner_aid`、初始 `membership_binding`、`credential_template`、`registration_authorization` | `organization`、初始 binding、凭证 CID、登记回执及可选 `operation_id` |
|
|
39
|
-
| `org.lifecycle.get` | `org_id`、可选 `fields[]` | 可见的 `organization` 和 `version` |
|
|
40
|
-
| `org.lifecycle.list` | 可选 `status`、`page`、`size`、`cursor` | `items[]`、分页信息和 `next_cursor` |
|
|
41
|
-
| `org.lifecycle.update` | `org_id`、`patch`、`expected_version` | 更新后的组织和新版本 |
|
|
42
|
-
| `org.lifecycle.suspend` / `resume` | `org_id`、`expected_version`;suspend 可带 `reason` | 更新后的组织和新版本 |
|
|
43
|
-
| `org.lifecycle.dissolve` | `org_id`、可选 `force`、`reason` | `operation_id` 和 `dissolving` / `dissolved` 状态 |
|
|
44
|
-
| `org.lifecycle.transfer` | `org_id`、`target_member_aid`、`expires_at` | `transfer_id`、`proposal_hash` 和签名提案 |
|
|
45
|
-
| `org.lifecycle.transferAccept` | `org_id`、`transfer_id`、`proposal_hash`、`target_signature`、`public_key`、阶段材料;`stage=rekey` 或 `finalize` | rekey 返回 `pending_finalization` 和新证书;finalize 返回组织、双方新 binding/CID 和登记回执 |
|
|
46
|
-
|
|
47
|
-
写操作按 `expected_version` 执行版本检查,并使用稳定 `request_id` 与 nonce。组织创建和转让涉及多个持久阶段;断线后应按原请求材料恢复,不要重新生成组织身份或密钥。详见[凭证与组织服务应用集成指南](凭证与组织服务SDK应用集成指南.md)。
|
|
48
|
-
|
|
49
|
-
## 成员关系
|
|
50
|
-
|
|
51
|
-
0.5.22 配套服务修复组织创建补偿与转让恢复:创建补偿遇到 `CREDENTIAL_IDEMPOTENCY_KEY_REUSE` 时保存冲突并停止自动补偿;转让开始换钥前复核当前证书/公钥代际,以规范 DER 公钥的 Base64 调用 CA,并将新旧 owner 的成员替换、完整成员包定向通知一起持久化。通知失败保留待办并按组织轮转;应用保留原任务、原请求及原密钥,不用更换 request ID 消除不确定结果。完整恢复要求见 [应用指南](凭证与组织服务SDK应用集成指南.md#7-所有权转让与实体材料)。
|
|
52
|
-
|
|
53
|
-
| 方法 | 主要业务参数 | 作用与结果 |
|
|
54
|
-
|------|------|------|
|
|
55
|
-
| `org.member.join` | `org_id`、`member_aid`、成员类型/类别、角色、完整条款、双签前 binding、成员签名 | 申请加入;返回待审批请求,不直接建立 active 成员 |
|
|
56
|
-
| `org.member.approveJoin` | `org_id`、`join_request_id`、已签 binding、`credential_template`、`registration_authorization`、审批材料 | 审批并登记成员 CAP;验证回执后完成成员关系 |
|
|
57
|
-
| `org.member.rejectJoin` | `org_id`、`join_request_id`、拒绝原因 | 拒绝待审批申请 |
|
|
58
|
-
| `org.member.invite` | `org_id`、`targets[]`、成员角色/属性、条款、逐目标 `membership_bindings` | 创建定向邀请,返回 `invites[]` |
|
|
59
|
-
| `org.member.inviteAccept` | `org_id`、`invite_id`、目标成员、双签 binding、成员签名、CAP 模板和登记授权 | 接受目标邀请并完成成员登记 |
|
|
60
|
-
| `org.member.inviteReject` | `org_id`、`invite_id`、拒绝原因 | 拒绝邀请 |
|
|
61
|
-
| `org.member.renewCredential` | `org_id`、成员、旧 CID、`expected_version`、新 binding/CAP 和登记授权 | 在原关系内换发 CAP;返回新旧 CID、binding、版本和登记回执 |
|
|
62
|
-
| `org.member.list` | `org_id`、可选类型/状态/角色/分页过滤 | 返回授权可见的 `items[]` 和分页信息 |
|
|
63
|
-
| `org.member.get` | `org_id`、`member_aid`、可选 `fields[]` | 返回成员、binding 摘要、凭证状态及签名 `membership_status` |
|
|
64
|
-
| `org.member.leave` / `kick` | `org_id`、成员、原因、`expected_version`;可选 `force` | 启动离职或移出收尾,返回操作 ID 和成员状态 |
|
|
65
|
-
| `org.member.offboard` | `org_id`、`member_aid`、`action=confirm/cancel`、可选 `expected_version` | 确认结束或取消收尾;返回成员状态、吊销数量和可选操作 ID |
|
|
66
|
-
| `org.member.freeze` / `unfreeze` | `org_id`、`member_aid`、版本及可选原因 | 冻结或恢复成员状态 |
|
|
67
|
-
| `org.member.ban` / `unban` | `org_id`、`member_aid`、版本、原因;ban 可带正整数秒 `duration` | 封禁或解除封禁;返回状态及可选 `banned_until` |
|
|
68
|
-
|
|
69
|
-
首次 `join` / `inviteAccept` 由目标成员私钥签名;代表操作还需专用 admission representation proof。成员 CAP 登记成功不等于入组完成,只有 Org Service 验证回执并提交成员关系后状态才是 `active`。成员状态优先于角色和 CAP:`banned`、`ended` 拒绝授权,`frozen` 拒绝普通写操作。
|
|
70
|
-
|
|
71
|
-
## 凭证查询、审计与授权
|
|
72
|
-
|
|
73
|
-
| 方法 | 主要业务参数 | 成功结果 |
|
|
74
|
-
|------|------|------|
|
|
75
|
-
| `org.credential.getStatus` | `org_id`、`credential_cid` | 组织范围内的签名状态证明,含 Credential 原始 proof |
|
|
76
|
-
| `org.credential.revocationList` | `org_id`、可选 `since_event_seq` / `cursor` / `limit` | 签名事件增量、游标和 Credential 原始 proof |
|
|
77
|
-
| `org.audit.query` | 组织、actor/target、事件类型/前缀、时间窗、分页和字段过滤 | `aun-org-audit-snapshot/1` 签名快照 |
|
|
78
|
-
| `org.authz.check` | 组织目标、资源/动作及相应成员授权材料 | 授权判定结果;状态未知或无法验证时拒绝放行 |
|
|
79
|
-
|
|
80
|
-
凭证查询由 Org Service 封装 Credential Service 的权威状态,不复制凭证状态。`org.audit.query` 按当前成员权限或有效审计 CAP 限定范围;解散组织的历史查询需独立归档 CAP。
|
|
81
|
-
|
|
82
|
-
## 内部和未实现方法
|
|
83
|
-
|
|
84
|
-
`org.member.add` 只允许 Org Service 内部最终化成员关系;普通客户端调用会返回 `ROLE_ACCESS_DENIED`。`org.membership.reserve/get/commit/release` 用于跨域成员名额占位和提交,由服务身份调用,不是应用公共接口。
|
|
85
|
-
|
|
86
|
-
dispatcher 保留四个尚未实现的方法:`org.resource.create`、`org.task.create`、`org.host.add`、`org.workflow.create`。调用时返回 `NOT_IMPLEMENTED`;同一组下未注册的其它方法返回 JSON-RPC `Method not found`。SDK facade/helper 存在不代表对应 RPC 已实现。
|
|
87
|
-
|
|
88
|
-
## 错误处理
|
|
89
|
-
|
|
90
|
-
Org 业务错误使用 `error.data.error_code` 和 `retryable` 标志。常见代码包括 `ORG_NOT_FOUND`、`ORG_STATUS_UNKNOWN`、`VERSION_CONFLICT`、`IDEMPOTENCY_KEY_REUSE`、`ROLE_ACCESS_DENIED`、`MEMBERSHIP_STATE_INVALID`、`CREDENTIAL_STATUS_UNKNOWN` 和 `NOT_IMPLEMENTED`。只有明确可重试的状态/服务故障,或同方法、同 request ID、同参数摘要的幂等请求才可重试;权限、签名、状态和摘要冲突不能盲目重试。
|
|
1
|
+
# 组织服务 RPC 手册
|
|
2
|
+
|
|
3
|
+
本文按 Org Service 当前服务端 dispatcher 列出 RPC。组织业务方法经 Gateway service-plane 路由;普通调用使用 `client.org` facade 或 `client.call(method, params)`。
|
|
4
|
+
|
|
5
|
+
## 方法索引
|
|
6
|
+
|
|
7
|
+
| 方法组 | 方法 |
|
|
8
|
+
|------|------|
|
|
9
|
+
| 诊断 | `org.health`、`org.status` |
|
|
10
|
+
| 生命周期 | `org.lifecycle.create/get/list/update/suspend/resume/dissolve/transfer/transferAccept` |
|
|
11
|
+
| 成员关系 | `org.member.join/approveJoin/rejectJoin/invite/inviteAccept/inviteReject/renewCredential/list/get/leave/kick/offboard/freeze/unfreeze/ban/unban` |
|
|
12
|
+
| 凭证查询 | `org.credential.getStatus`、`org.credential.revocationList` |
|
|
13
|
+
| 审计与授权 | `org.audit.query`、`org.authz.check` |
|
|
14
|
+
| 内部接口 | `org.member.add`、`org.membership.reserve/get/commit/release` |
|
|
15
|
+
| 保留但未实现 | `org.resource.create`、`org.task.create`、`org.host.add`、`org.workflow.create` |
|
|
16
|
+
|
|
17
|
+
## 通用请求约定
|
|
18
|
+
|
|
19
|
+
除 `org.health`、`org.status` 和 Name Service 受信内部读取 `org.lifecycle.get` 外,Org dispatcher 会验证完整方法名对应的 `client_signature`。业务请求由 `org.prepareRequest` / `prepare_request` / `PrepareRequest` 准备:加入与组织匹配的 `aad.org_id`,并按具体方法生成 `request_binding`、nonce 和外层签名。认证主体由会话确定,不能由请求参数替代。
|
|
20
|
+
|
|
21
|
+
公开组织的 `org.lifecycle.get/list` 按可见性返回公开字段;显式请求受保护字段时仍需对应成员授权。`org.member.list/get`、`org.credential.getStatus` 和 `org.credential.revocationList` 是受保护业务读取,需当前成员 binding、CAP、AAD、request binding 和签名。读取方法不能因无副作用而跳过授权。
|
|
22
|
+
|
|
23
|
+
下面表格中的业务字段不含连接级认证字段及请求准备字段。成功结果按 JSON-RPC `result` 返回;结构化业务错误码位于 `error.data.error_code`。
|
|
24
|
+
|
|
25
|
+
## 诊断方法
|
|
26
|
+
|
|
27
|
+
| 方法 | 参数 | 结果 |
|
|
28
|
+
|------|------|------|
|
|
29
|
+
| `org.health` | 无 | `status`、实现信息、服务 AID、数据库和签名身份可用性 |
|
|
30
|
+
| `org.status` | 无 | 模块状态、服务 AID、数据库连接、运行时间和构建信息 |
|
|
31
|
+
|
|
32
|
+
诊断结果只反映服务状态,不代表组织成员或凭证授权有效。
|
|
33
|
+
|
|
34
|
+
## 组织生命周期
|
|
35
|
+
|
|
36
|
+
| 方法 | 主要业务参数 | 成功结果 |
|
|
37
|
+
|------|------|------|
|
|
38
|
+
| `org.lifecycle.create` | `org_id`、`name`、`exttype`、`join_mode`、`visibility`、`owner_aid`、初始 `membership_binding`、`credential_template`、`registration_authorization` | `organization`、初始 binding、凭证 CID、登记回执及可选 `operation_id` |
|
|
39
|
+
| `org.lifecycle.get` | `org_id`、可选 `fields[]` | 可见的 `organization` 和 `version` |
|
|
40
|
+
| `org.lifecycle.list` | 可选 `status`、`page`、`size`、`cursor` | `items[]`、分页信息和 `next_cursor` |
|
|
41
|
+
| `org.lifecycle.update` | `org_id`、`patch`、`expected_version` | 更新后的组织和新版本 |
|
|
42
|
+
| `org.lifecycle.suspend` / `resume` | `org_id`、`expected_version`;suspend 可带 `reason` | 更新后的组织和新版本 |
|
|
43
|
+
| `org.lifecycle.dissolve` | `org_id`、可选 `force`、`reason` | `operation_id` 和 `dissolving` / `dissolved` 状态 |
|
|
44
|
+
| `org.lifecycle.transfer` | `org_id`、`target_member_aid`、`expires_at` | `transfer_id`、`proposal_hash` 和签名提案 |
|
|
45
|
+
| `org.lifecycle.transferAccept` | `org_id`、`transfer_id`、`proposal_hash`、`target_signature`、`public_key`、阶段材料;`stage=rekey` 或 `finalize` | rekey 返回 `pending_finalization` 和新证书;finalize 返回组织、双方新 binding/CID 和登记回执 |
|
|
46
|
+
|
|
47
|
+
写操作按 `expected_version` 执行版本检查,并使用稳定 `request_id` 与 nonce。组织创建和转让涉及多个持久阶段;断线后应按原请求材料恢复,不要重新生成组织身份或密钥。详见[凭证与组织服务应用集成指南](凭证与组织服务SDK应用集成指南.md)。
|
|
48
|
+
|
|
49
|
+
## 成员关系
|
|
50
|
+
|
|
51
|
+
0.5.22 配套服务修复组织创建补偿与转让恢复:创建补偿遇到 `CREDENTIAL_IDEMPOTENCY_KEY_REUSE` 时保存冲突并停止自动补偿;转让开始换钥前复核当前证书/公钥代际,以规范 DER 公钥的 Base64 调用 CA,并将新旧 owner 的成员替换、完整成员包定向通知一起持久化。通知失败保留待办并按组织轮转;应用保留原任务、原请求及原密钥,不用更换 request ID 消除不确定结果。完整恢复要求见 [应用指南](凭证与组织服务SDK应用集成指南.md#7-所有权转让与实体材料)。
|
|
52
|
+
|
|
53
|
+
| 方法 | 主要业务参数 | 作用与结果 |
|
|
54
|
+
|------|------|------|
|
|
55
|
+
| `org.member.join` | `org_id`、`member_aid`、成员类型/类别、角色、完整条款、双签前 binding、成员签名 | 申请加入;返回待审批请求,不直接建立 active 成员 |
|
|
56
|
+
| `org.member.approveJoin` | `org_id`、`join_request_id`、已签 binding、`credential_template`、`registration_authorization`、审批材料 | 审批并登记成员 CAP;验证回执后完成成员关系 |
|
|
57
|
+
| `org.member.rejectJoin` | `org_id`、`join_request_id`、拒绝原因 | 拒绝待审批申请 |
|
|
58
|
+
| `org.member.invite` | `org_id`、`targets[]`、成员角色/属性、条款、逐目标 `membership_bindings` | 创建定向邀请,返回 `invites[]` |
|
|
59
|
+
| `org.member.inviteAccept` | `org_id`、`invite_id`、目标成员、双签 binding、成员签名、CAP 模板和登记授权 | 接受目标邀请并完成成员登记 |
|
|
60
|
+
| `org.member.inviteReject` | `org_id`、`invite_id`、拒绝原因 | 拒绝邀请 |
|
|
61
|
+
| `org.member.renewCredential` | `org_id`、成员、旧 CID、`expected_version`、新 binding/CAP 和登记授权 | 在原关系内换发 CAP;返回新旧 CID、binding、版本和登记回执 |
|
|
62
|
+
| `org.member.list` | `org_id`、可选类型/状态/角色/分页过滤 | 返回授权可见的 `items[]` 和分页信息 |
|
|
63
|
+
| `org.member.get` | `org_id`、`member_aid`、可选 `fields[]` | 返回成员、binding 摘要、凭证状态及签名 `membership_status` |
|
|
64
|
+
| `org.member.leave` / `kick` | `org_id`、成员、原因、`expected_version`;可选 `force` | 启动离职或移出收尾,返回操作 ID 和成员状态 |
|
|
65
|
+
| `org.member.offboard` | `org_id`、`member_aid`、`action=confirm/cancel`、可选 `expected_version` | 确认结束或取消收尾;返回成员状态、吊销数量和可选操作 ID |
|
|
66
|
+
| `org.member.freeze` / `unfreeze` | `org_id`、`member_aid`、版本及可选原因 | 冻结或恢复成员状态 |
|
|
67
|
+
| `org.member.ban` / `unban` | `org_id`、`member_aid`、版本、原因;ban 可带正整数秒 `duration` | 封禁或解除封禁;返回状态及可选 `banned_until` |
|
|
68
|
+
|
|
69
|
+
首次 `join` / `inviteAccept` 由目标成员私钥签名;代表操作还需专用 admission representation proof。成员 CAP 登记成功不等于入组完成,只有 Org Service 验证回执并提交成员关系后状态才是 `active`。成员状态优先于角色和 CAP:`banned`、`ended` 拒绝授权,`frozen` 拒绝普通写操作。
|
|
70
|
+
|
|
71
|
+
## 凭证查询、审计与授权
|
|
72
|
+
|
|
73
|
+
| 方法 | 主要业务参数 | 成功结果 |
|
|
74
|
+
|------|------|------|
|
|
75
|
+
| `org.credential.getStatus` | `org_id`、`credential_cid` | 组织范围内的签名状态证明,含 Credential 原始 proof |
|
|
76
|
+
| `org.credential.revocationList` | `org_id`、可选 `since_event_seq` / `cursor` / `limit` | 签名事件增量、游标和 Credential 原始 proof |
|
|
77
|
+
| `org.audit.query` | 组织、actor/target、事件类型/前缀、时间窗、分页和字段过滤 | `aun-org-audit-snapshot/1` 签名快照 |
|
|
78
|
+
| `org.authz.check` | 组织目标、资源/动作及相应成员授权材料 | 授权判定结果;状态未知或无法验证时拒绝放行 |
|
|
79
|
+
|
|
80
|
+
凭证查询由 Org Service 封装 Credential Service 的权威状态,不复制凭证状态。`org.audit.query` 按当前成员权限或有效审计 CAP 限定范围;解散组织的历史查询需独立归档 CAP。
|
|
81
|
+
|
|
82
|
+
## 内部和未实现方法
|
|
83
|
+
|
|
84
|
+
`org.member.add` 只允许 Org Service 内部最终化成员关系;普通客户端调用会返回 `ROLE_ACCESS_DENIED`。`org.membership.reserve/get/commit/release` 用于跨域成员名额占位和提交,由服务身份调用,不是应用公共接口。
|
|
85
|
+
|
|
86
|
+
dispatcher 保留四个尚未实现的方法:`org.resource.create`、`org.task.create`、`org.host.add`、`org.workflow.create`。调用时返回 `NOT_IMPLEMENTED`;同一组下未注册的其它方法返回 JSON-RPC `Method not found`。SDK facade/helper 存在不代表对应 RPC 已实现。
|
|
87
|
+
|
|
88
|
+
## 错误处理
|
|
89
|
+
|
|
90
|
+
Org 业务错误使用 `error.data.error_code` 和 `retryable` 标志。常见代码包括 `ORG_NOT_FOUND`、`ORG_STATUS_UNKNOWN`、`VERSION_CONFLICT`、`IDEMPOTENCY_KEY_REUSE`、`ROLE_ACCESS_DENIED`、`MEMBERSHIP_STATE_INVALID`、`CREDENTIAL_STATUS_UNKNOWN` 和 `NOT_IMPLEMENTED`。只有明确可重试的状态/服务故障,或同方法、同 request ID、同参数摘要的幂等请求才可重试;权限、签名、状态和摘要冲突不能盲目重试。
|
|
@@ -61,6 +61,7 @@ Group 的成员 block/status、暂停群权限和两阶段群主转让,以及
|
|
|
61
61
|
| - | [0.5.22 SDK 开发与移植指南](0.5.22-SDK开发与移植指南.md) | 同步、Stage/CAS、撤销续期、缓存、服务依赖及 Rust 清单 |
|
|
62
62
|
| - | [0.5.24 SDK 应用集成指南](0.5.24-SDK应用集成指南.md) | 当前消息接线、无任务 Ownership、两个 local 编排、缓存和凭证组织 |
|
|
63
63
|
| - | [0.5.24 SDK 开发与移植指南](0.5.24-SDK开发与移植指南.md) | 消息提交、NS 事实和远端 CAS、local 身份隔离、缓存新鲜度与语言差异 |
|
|
64
|
+
| - | [0.5.29 应用指南](0.5.29-SDK应用集成指南.md)、[开发与移植指南](0.5.29-SDK开发与移植指南.md)、[变更与跨端对齐](../../python/CHANGES_FOR_PARITY.md#v0529--共识查询缓存与普通上传未发布) | 当前应用接入、共识输入输出、无 TTL 的 ETag 缓存、resolve、普通上传锁与恢复、NS 配套及四端移植 |
|
|
64
65
|
| - | [0.5.28 应用指南](0.5.28-SDK应用集成指南.md)、[开发与移植指南](0.5.28-SDK开发与移植指南.md);[0.5.27 应用指南](0.5.27-SDK应用集成指南.md)、[开发与移植指南](0.5.27-SDK开发与移植指南.md) | 0.5.28 agent.md 上传/下载校验、共识 fresh、分类控制消息、Owner 通知与风控;四端实现和验证范围见 [parity](../../python/CHANGES_FOR_PARITY.md#v0528--校验控制消息与风控未发布) |
|
|
65
66
|
| - | [agent.md 与 group.index 的 ETag 观察与同步机制](agent.md与group.index的ETag观察与同步机制.md) | 服务端 ETag 来源、四 SDK 被动观察、agent.md 下载触发、group.index 显式 pull 与 CAS |
|
|
66
67
|
| - | [CHANGELOG-0.5.6](CHANGELOG-0.5.6.md) | **0.5.6 版本更新日志**:首次签名者回源、下载提交前验签、消息窗口、显式 change-seed 与语言能力边界 |
|
|
@@ -84,7 +85,7 @@ Group 的成员 block/status、暂停群权限和两阶段群主转让,以及
|
|
|
84
85
|
| - | [组织服务 RPC 手册](09-组织服务RPC手册.md) | Org Service 生命周期/成员 RPC、内部接口和未实现方法 |
|
|
85
86
|
| 05 | [E2EE加密通信](05-E2EE加密通信.md) | E2EE V2、ProtectedHeaders、need_render、agent.md 版本提示、旧 SPK 保留 |
|
|
86
87
|
| - | [ProtectedHeaders用法专题](ProtectedHeaders用法专题.md) | `protected_headers` 四端 API、实例级/单次调用、E2EE V2 HMAC 完整性和接收信任边界 |
|
|
87
|
-
| 06 | [API手册](06-API手册.md) | AIDStore / resolve opts 与输入输出 / frontmatter 类型 /
|
|
88
|
+
| 06 | [API手册](06-API手册.md) | AIDStore / resolve opts 与输入输出 / frontmatter 类型 / Agent.md 校验签名 / AID / AUNClient 生命周期并发 / 四 SDK access token getter / 群组高层身份编排 / History 与已读门面 / 已读变更及本地补偿完成 / 消息来源与 Pull 同步生命周期 / 事件 / RPC;当前 ownership 变更见 [0.5.29 parity](../../python/CHANGES_FOR_PARITY.md#v0529--共识查询缓存与普通上传未发布) |
|
|
88
89
|
| 07 | [错误处理](07-错误处理.md) | Result、Python `ErrorInfo.cause`、异常、错误码、重试 |
|
|
89
90
|
| 08 | [最佳实践](08-最佳实践.md) | 幂等、消息同步/History、AUNClient 级 Pull Gate(同 namespace 单飞、客户端最多 4 个并行)、测试数据 |
|
|
90
91
|
| - | [Storage RPC 手册](09-storage-rpc-manual.md) | Storage RPC、实际字节 MIME、三阶段 Content-Type、OSS 403、HTTP 下载与凭据边界、默认读缓存持久层、条件读取与 noCache |
|
|
@@ -103,13 +104,14 @@ Group 的成员 block/status、暂停群权限和两阶段群主转让,以及
|
|
|
103
104
|
| 实现、移植或审查 0.5.22 SDK,查看 Stage/CAS、配套服务修复、读缓存及 Rust 验收清单 | [0.5.22 SDK 开发与移植指南](0.5.22-SDK开发与移植指南.md) |
|
|
104
105
|
| 接入或升级 0.5.24,查看当前消息、无任务 Ownership、两个 local 场景、缓存及凭证组织 | [0.5.24 SDK 应用集成指南](0.5.24-SDK应用集成指南.md) |
|
|
105
106
|
| 实现、移植或审查 0.5.24,核对提交/ACK、NS 事实、远端 CAS、local 身份隔离和缓存新鲜度 | [0.5.24 SDK 开发与移植指南](0.5.24-SDK开发与移植指南.md) |
|
|
106
|
-
|
|
|
107
|
+
| 接入或移植 0.5.29,核查共识、resolve、上传锁与恢复 | [应用指南](0.5.29-SDK应用集成指南.md):接入 L5-54、共识 L55-80、resolve L81-104、上传管理 L105-145、缓存/业务 L146-167、升级 L168-180;[开发与移植指南](0.5.29-SDK开发与移植指南.md):契约 L5-63、缓存/resolve L64-94、上传恢复 L95-123、四端/继承 L124-151、核查 L152-164;[parity 当前章节](../../python/CHANGES_FOR_PARITY.md#v0529--共识查询缓存与普通上传未发布) L15-87 |
|
|
108
|
+
| 回看 0.5.28 的 schema、共识、控制消息、Owner 通知与风控,以及 0.5.27 的历史增量 | [0.5.28 应用指南](0.5.28-SDK应用集成指南.md):接入与消息 §1—§3 L5-95、凭证/组织 §4—§5 L96-137、Storage/Ownership §6—§7 L138-186、通知 §8 L187-201、风控/升级 §9—§10 L202-228;[开发与移植指南](0.5.28-SDK开发与移植指南.md):校验 §1 L7-36、共识 §2 L37-62、wire §3 L63-108、outbox §4 L109-121、风控 §5 L122-134、移植 §6 L135-146。 [历史 parity](../../python/CHANGES_FOR_PARITY.md#v0528--校验控制消息与风控未发布) L88-172;公共共识流程以 0.5.29 为准 |
|
|
107
109
|
| 0.5.24 应用按主题读:身份、消息、resolve、Ownership、文件缓存、凭证组织和升级 | `0.5.24-SDK应用集成指南.md` §2 L21-75、§3 L76-132、§4 L133-168、§5 L169-298、§6 L299-321、§7 L322-366、§9 L386-401;local bind L227-245、local transfer L246-267 |
|
|
108
110
|
| 0.5.24 移植按主题读:消息提交、名片、观察、Ownership、缓存、PKI、凭证组织及语言差异 | `0.5.24-SDK开发与移植指南.md` §3 L32-84、§4 L85-92、§5 L93-122、§6 L123-217、§7 L218-245、§8 L246-261、§9 L262-297、§10 L298-325;Rust §11 L326-339、验收 §12 L340-354 |
|
|
109
111
|
| 首次使用 SDK | [01-快速开始](01-快速开始.md) |
|
|
110
112
|
| 理解新构造入口 | [01-快速开始](01-快速开始.md)、[06-API手册](06-API手册.md) |
|
|
111
113
|
| 注册或加载 AID | [04-连接与认证](04-连接与认证.md) |
|
|
112
|
-
| 查询 resolve opts、frontmatter 字段及类型、按需 ownership
|
|
114
|
+
| 查询 resolve opts、frontmatter 字段及类型、按需 ownership 共识 | [0.5.29 resolve](0.5.29-SDK应用集成指南.md#4-resolve-与-frontmatter) L81-104;完整基础接口见 [API 手册](06-API手册.md#resolve-输入与输出),实现增量见 [parity](../../python/CHANGES_FOR_PARITY.md#v0529--共识查询缓存与普通上传未发布) L19-47 |
|
|
113
115
|
| 查旧 SDK owner 注册、绑定、转移、查询及解绑的隔离兼容,或 legacy proof/escrow/代签 | [当前协议兼容边界](../protocol/Ownership协议定义2.1.md) 开篇/§3.2、[详细设计](Ownership2.1详细设计.md) §1 兼容矩阵;历史 wire 见 [Ownership管理专题(legacy)](Ownership管理专题.md)、[legacy 集成指南](Ownership-SDK集成指南.md) |
|
|
114
116
|
| Ownership 2.1 应用:绑定/释放/转移、两个 local 编排、审批及显式重试的 TS 示例与图 | [应用集成指南](Ownership2.1-SDK应用集成指南.md) |
|
|
115
117
|
| Ownership 2.1 移植:NS 验收、条件发布、通用消息交付、本地编排和文件 CAS | [开发与移植指南](Ownership2.1-SDK开发与移植指南.md) |
|
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
| [0.5.22 SDK 开发与移植指南](0.5.22-SDK开发与移植指南.md) | 后台退避 · 群状态 · 两种绑定与 Stage/CAS · 消息内部消费 · 撤销同步 · 组织恢复及配套服务修复 · 默认读缓存 · Rust 清单 |
|
|
15
15
|
| [0.5.24 SDK 应用集成指南](0.5.24-SDK应用集成指南.md) | 当前身份与消息接入 · 无任务 Ownership · local 双/三身份编排 · resolve 与文件缓存 · 凭证组织 · 升级 |
|
|
16
16
|
| [0.5.24 SDK 开发与移植指南](0.5.24-SDK开发与移植指南.md) | peer/batch 提交 · NS 事实与远端 CAS · local 短连接 · 观察与 PKI 缓存 · 持久化边界 · 语言差异和验收 |
|
|
17
|
-
| [0.5.
|
|
17
|
+
| [0.5.29 应用指南](0.5.29-SDK应用集成指南.md)、[开发与移植指南](0.5.29-SDK开发与移植指南.md)、[变更与跨端对齐](../../python/CHANGES_FOR_PARITY.md#v0529--共识查询缓存与普通上传未发布);[Python](../../python/CHANGELOG.md)、[Go](../../go/CHANGELOG.md)、[TS](../../ts/CHANGELOG.md)、[JS](../../js/CHANGELOG.md) CHANGELOG | 当前应用接入、共识默认 force=false、NS 单次查询、无 TTL 的 ETag 缓存、resolve、普通上传锁/恢复与四端移植 |
|
|
18
|
+
| [0.5.28 应用指南](0.5.28-SDK应用集成指南.md)、[开发与移植指南](0.5.28-SDK开发与移植指南.md);[0.5.27 应用指南](0.5.27-SDK应用集成指南.md)、[开发与移植指南](0.5.27-SDK开发与移植指南.md) | 历史 agent.md 校验、共识 fresh、分类控制消息、Owner 通知与风控;四端差异及验证边界见 [parity 0.5.28](../../python/CHANGES_FOR_PARITY.md#v0528--校验控制消息与风控未发布),公共共识规则以 0.5.29 为准 |
|
|
18
19
|
| [CHANGELOG-0.5.6](CHANGELOG-0.5.6.md) | **0.5.6 版本更新日志**:首次签名者回源 · 下载提交前验签 · 消息窗口 · 显式 change-seed · 语言能力边界 |
|
|
19
20
|
| [01-快速开始](01-快速开始.md) | 安装 · 三主体模型 · 最小示例 · 多语言构造 |
|
|
20
21
|
| [02-WebSocket协议](02-WebSocket协议.md) | 握手流程 · 严格布尔 peer 能力声明 · JSON-RPC 消息格式 · 裸 WebSocket 示例 |
|
|
@@ -76,7 +77,8 @@
|
|
|
76
77
|
|
|
77
78
|
- 当前身份与消息接入、无任务 Ownership、两个 local 场景、名片及文件缓存、凭证组织与升级 → [应用集成指南](0.5.24-SDK应用集成指南.md)
|
|
78
79
|
- 三主体分层、提交/ACK、NS 事实和远端 CAS、local 身份隔离、缓存新鲜度、语言差异与验收 → [开发与移植指南](0.5.24-SDK开发与移植指南.md)
|
|
79
|
-
- 0.5.
|
|
80
|
+
- 0.5.29 应用接入、共识输入输出、resolve、上传与业务服务 → [应用指南](0.5.29-SDK应用集成指南.md);缓存并发、上传恢复、NS 配套与四端落点 → [开发与移植指南](0.5.29-SDK开发与移植指南.md);已有增量及验证见 [parity 当前章节](../../python/CHANGES_FOR_PARITY.md#v0529--共识查询缓存与普通上传未发布)。
|
|
81
|
+
- 0.5.28 agent.md 校验、共识 fresh、分类控制消息、Owner 通知、风控和四端验证边界 → [应用指南](0.5.28-SDK应用集成指南.md)、[开发与移植指南](0.5.28-SDK开发与移植指南.md);实现差异见 [历史 parity](../../python/CHANGES_FOR_PARITY.md#v0528--校验控制消息与风控未发布)。0.5.27 历史版本见对应旧指南与 parity。
|
|
80
82
|
|
|
81
83
|
### 身份与认证
|
|
82
84
|
|
|
@@ -176,11 +178,17 @@ TypeScript 身份与消息接线、Ownership 审批恢复、resolve、默认缓
|
|
|
176
178
|
|
|
177
179
|
定义消息 peer/batch/Gate、Ownership NS 事实和远端 CAS、Stage、local 专属 slot 与身份代际、展示及文件缓存、PKI 和 Credential 查询新鲜度、组织 checkpoint。列出四端兼容差异、Rust 核查与分层验收,不将已有专项证据等同完整发布验证。
|
|
178
180
|
|
|
181
|
+
### 0.5.29 更新日志与跨端对齐
|
|
182
|
+
|
|
183
|
+
0.5.29 [应用指南](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;[开发与移植指南](0.5.29-SDK开发与移植指南.md):契约 §1—§2 L5-63、缓存/resolve §3—§4 L64-94、上传恢复 §5 L95-123、四端/继承 §6—§7 L124-151、核查 §8 L152-164。
|
|
184
|
+
|
|
185
|
+
当前 [0.5.29 变更与对齐清单](../../python/CHANGES_FOR_PARITY.md#v0529--共识查询缓存与普通上传未发布) L15-87:公共入口及 NS 请求 L19-39、ETag 缓存/resolve L40-47、普通上传/恢复 L48-67、NS 配套与验证 L68-87;四端 CHANGELOG 提供接口摘要。
|
|
186
|
+
|
|
179
187
|
### 0.5.28 更新日志与跨端对齐
|
|
180
188
|
|
|
181
|
-
0.5.28 [应用指南](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;[开发与移植指南](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。 [
|
|
189
|
+
历史 0.5.28 [应用指南](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;[开发与移植指南](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#v0528--校验控制消息与风控未发布) L88-172 记录四端落点、已有测试入口及服务依赖/验收边界;公共共识流程以 0.5.29 为准。
|
|
182
190
|
|
|
183
|
-
0.5.27 [应用指南](0.5.27-SDK应用集成指南.md):身份/连接/消息迁移 §2—§3 L30-133,结构化 §4 L134-192/语义 §5 L193-349,组织与缓存 §6—§7 L350-388,升级 §8 L389-408;[开发与移植指南](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#v0527--相对于-v0525-基线的变更未发布)
|
|
191
|
+
0.5.27 [应用指南](0.5.27-SDK应用集成指南.md):身份/连接/消息迁移 §2—§3 L30-133,结构化 §4 L134-192/语义 §5 L193-349,组织与缓存 §6—§7 L350-388,升级 §8 L389-408;[开发与移植指南](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#v0527--相对于-v0525-基线的变更未发布) L173-290 对照 0.5.25 源码,说明语义凭证、消息证据、状态/Usage 恢复、Gateway 迁移、时间容错、组织及 CLI;四端 CHANGELOG 提供接口级摘要,parity 列出实现落点、语言差异和已有验证范围。0.5.26 仅为 TypeScript 根证书打包修正,旧版本章节保留历史记录。
|
|
184
192
|
|
|
185
193
|
### CHANGELOG-0.5.6
|
|
186
194
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 凭证与组织服务 SDK 应用集成指南
|
|
2
2
|
|
|
3
|
-
Org `0.8`;本文对齐当前工作区四 SDK(包元数据 `0.5.
|
|
3
|
+
Org `0.8`;本文对齐当前工作区四 SDK(包元数据 `0.5.28`),不据此声明扩展已发布。§3为结构化凭证,§4为语义凭证,§5—§7为组织流程。下文使用 Node TS;字段见 [Credential RPC](09-凭证服务RPC手册.md)/[Org RPC](09-组织服务RPC手册.md),内部实现见 [移植指南](凭证与组织服务SDK开发与移植指南.md)。
|
|
4
4
|
|
|
5
5
|
| 模式 | 版本 | 授权验收 |
|
|
6
6
|
| --- | --- | --- |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 凭证与组织服务 SDK 开发与移植指南
|
|
2
2
|
|
|
3
|
-
面向 SDK 实现者,按“共同签验 → 请求绑定 → RPC → 持久状态 → 实体恢复”移植。协议为 Org `0.8`,本文对齐当前工作区四 SDK(包元数据 `0.5.
|
|
3
|
+
面向 SDK 实现者,按“共同签验 → 请求绑定 → RPC → 持久状态 → 实体恢复”移植。协议为 Org `0.8`,本文对齐当前工作区四 SDK(包元数据 `0.5.28`),不据此声明扩展已发布。§3为结构化凭证,§4为语义凭证,§5—§6为绑定与 Facade,§7为组织编排。应用调用见 [集成指南](凭证与组织服务SDK应用集成指南.md),普通凭证字段以 [详细设计](../../../extensions/services/docs/org/0.8/17-凭证与组织服务详细设计.md) 为准,不以任一语言实现代替协议。
|
|
4
4
|
|
|
5
5
|
| 模式 | 版本与能力 | 验收路径 |
|
|
6
6
|
| --- | --- | --- |
|