@agentunion/fastaun-browser 0.4.13 → 0.5.1

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 (223) hide show
  1. package/CHANGELOG.md +536 -386
  2. package/_packed_docs/CHANGELOG-validators.md +144 -0
  3. package/_packed_docs/CHANGELOG.md +536 -386
  4. package/_packed_docs/INDEX.md +159 -84
  5. package/_packed_docs/KITE_DOCS_GUIDE.md +48 -31
  6. package/_packed_docs/agent.md/SCHEMA.md +2 -0
  7. package/_packed_docs/agent.md/examples/codeagent-claudecode.md +2 -0
  8. package/_packed_docs/agent.md/examples/human-developer.md +2 -0
  9. package/_packed_docs/agent.md/examples/openclaw-lobster.md +2 -0
  10. package/_packed_docs/agent.md/examples/signed-openclaw-lobster.md +2 -0
  11. package/_packed_docs/agent.md//350/277/234/347/250/213agent.md/347/274/223/345/255/230/344/270/216etag/351/200/217/344/274/240/346/226/271/346/241/210.md +2 -0
  12. package/_packed_docs/cli/AUN-CLI/350/256/276/350/256/241/346/226/207/346/241/243.md +266 -686
  13. package/_packed_docs/cli/CLI/346/211/213/345/206/214.md +331 -0
  14. package/_packed_docs/design/2026-05-22-aun-rpc-trace-enhancement.md +2 -0
  15. package/_packed_docs/design/AUNClient/346/213/206/345/210/206/351/207/215/346/236/204/346/211/247/350/241/214/346/226/271/346/241/210.md +2 -0
  16. package/_packed_docs/design/E2EE_V2/347/256/200/345/214/226/344/270/2721DH/345/212/240Per-AID_Wrap/346/226/271/346/241/210.md +2 -0
  17. package/_packed_docs/design//350/267/250/350/257/255/350/250/200/345/256/271/345/231/250E2E/346/265/213/350/257/225/346/226/271/346/241/210.md +2 -0
  18. package/_packed_docs/protocol/00-/346/200/273/350/247/210/344/270/216/345/210/206/345/261/202.md +2 -0
  19. package/_packed_docs/protocol/00A-/350/256/276/350/256/241/345/216/237/345/210/231-/344/270/272Agent/350/200/214/347/224/237.md +2 -0
  20. package/_packed_docs/protocol/01-/350/272/253/344/273/275/344/270/216/345/207/255/350/257/201/345/215/217/350/256/256-auth.md +2 -0
  21. package/_packed_docs/protocol/02-/350/257/201/344/271/246/344/270/216/344/277/241/344/273/273/344/275/223/347/263/273.md +2 -0
  22. package/_packed_docs/protocol/03-Gateway-/350/277/236/346/216/245/346/250/241/345/274/217.md +2 -0
  23. package/_packed_docs/protocol/04-Peer-/345/255/220/345/215/217/350/256/256.md +2 -0
  24. package/_packed_docs/protocol/05-Relay-/345/255/220/345/215/217/350/256/256.md +2 -0
  25. package/_packed_docs/protocol/07-/351/224/231/350/257/257/347/240/201/344/270/216/347/212/266/346/200/201/346/234/272.md +2 -0
  26. package/_packed_docs/protocol/08-AUN-E2EE-Group.md +296 -900
  27. package/_packed_docs/protocol/08-AUN-E2EE.md +2 -0
  28. package/_packed_docs/protocol/09-/345/256/211/345/205/250/350/200/203/350/231/221.md +2 -0
  29. package/_packed_docs/protocol/10-Group-/345/255/220/345/215/217/350/256/256.md +66 -173
  30. package/_packed_docs/protocol/11-Storage-/345/255/220/345/215/217/350/256/256.md +55 -0
  31. package/_packed_docs/protocol/12-Stream-/345/255/220/345/215/217/350/256/256.md +2 -0
  32. package/_packed_docs/protocol/13-Agent/350/241/214/344/270/272/350/247/204/350/214/203.md +2 -0
  33. package/_packed_docs/protocol/14-/344/272/244/344/272/222/346/234/272/345/210/266-/345/223/215/345/272/224/346/250/241/345/274/217/344/270/216/350/207/252/344/270/273/346/250/241/345/274/217.md +2 -0
  34. package/_packed_docs/protocol/15-/347/246/273/347/272/277/346/216/250/351/200/201/351/200/232/347/237/245/345/215/217/350/256/256.md +2 -0
  35. package/_packed_docs/protocol/16-/347/263/273/347/273/237/347/233/256/345/275/225/344/277/235/346/212/244/346/226/271/346/241/210.md +177 -0
  36. package/_packed_docs/protocol/README.md +4 -1
  37. package/_packed_docs/protocol/agent.md/SCHEMA.md +2 -0
  38. package/_packed_docs/protocol/agent.md/examples/codeagent-claudecode.md +2 -0
  39. package/_packed_docs/protocol/agent.md/examples/human-developer.md +2 -0
  40. package/_packed_docs/protocol/agent.md/examples/openclaw-lobster.md +2 -0
  41. package/_packed_docs/protocol/aun-docs-guide.md +2 -0
  42. package/_packed_docs/protocol/index.md +10 -3
  43. package/_packed_docs/protocol//350/215/211/346/241/210-agent.md/347/255/276/345/220/215/345/215/217/350/256/256.md +2 -0
  44. package/_packed_docs/protocol//350/215/211/346/241/210-/346/213/222/347/273/235/344/277/241/345/217/267/345/215/217/350/256/256.md +2 -0
  45. package/_packed_docs/protocol//351/231/204/345/275/225A-/346/234/257/350/257/255/350/241/250.md +2 -0
  46. package/_packed_docs/protocol//351/231/204/345/275/225B-/346/211/251/345/261/225/346/200/247/346/214/207/345/215/227.md +2 -0
  47. package/_packed_docs/protocol//351/231/204/345/275/225C-/347/247/201/351/222/245/347/256/241/347/220/206/344/270/216/350/272/253/344/273/275/346/201/242/345/244/215.md +2 -0
  48. package/_packed_docs/protocol//351/231/204/345/275/225D-Root_CA_/346/262/273/347/220/206/346/234/272/345/210/266.md +2 -0
  49. package/_packed_docs/protocol//351/231/204/345/275/225E-Root_CA_/345/207/206/345/205/245/346/265/201/347/250/213.md +2 -0
  50. package/_packed_docs/protocol//351/231/204/345/275/225F-Issuer_CA_/347/224/263/350/257/267/346/265/201/347/250/213.md +2 -0
  51. package/_packed_docs/protocol//351/231/204/345/275/225G-AID_/345/255/244/345/204/277/351/242/204/351/230/262/344/270/216/346/225/221/346/217/264/346/234/272/345/210/266.md +2 -0
  52. package/_packed_docs/protocol//351/231/204/345/275/225H-Identity/346/234/215/345/212/241/345/256/236/347/216/260/346/214/207/345/215/227.md +2 -0
  53. package/_packed_docs/protocol//351/231/204/345/275/225I-/350/267/250/345/237/237/346/266/210/346/201/257/350/267/257/347/224/261/345/256/236/347/216/260/346/214/207/345/215/227.md +2 -0
  54. package/_packed_docs/protocol//351/231/204/345/275/225J-/345/256/242/346/210/267/347/253/257/346/216/245/345/205/245/347/244/272/344/276/213.md +2 -0
  55. package/_packed_docs/protocol//351/231/204/345/275/225K-Agent_Web/345/217/221/347/216/260/345/215/217/350/256/256.md +2 -0
  56. package/_packed_docs/protocol//351/231/204/345/275/225L-E2EE/345/256/236/347/216/260/346/214/207/345/215/227.md +2 -0
  57. package/_packed_docs/protocol//351/231/204/345/275/225M-JWT/350/256/244/350/257/201/345/256/236/347/216/260/346/214/207/345/215/227.md +2 -0
  58. package/_packed_docs/protocol//351/231/204/345/275/225N-/345/210/206/345/270/203/345/274/217Trace/345/215/217/350/256/256.md +2 -0
  59. package/_packed_docs/sdk/01-/345/277/253/351/200/237/345/274/200/345/247/213.md +2 -0
  60. package/_packed_docs/sdk/02-WebSocket/345/215/217/350/256/256.md +2 -0
  61. package/_packed_docs/sdk/03-/346/240/270/345/277/203/346/246/202/345/277/265.md +2 -0
  62. package/_packed_docs/sdk/04-/350/277/236/346/216/245/344/270/216/350/256/244/350/257/201.md +2 -0
  63. package/_packed_docs/sdk/05-E2EE/345/212/240/345/257/206/351/200/232/344/277/241.md +6 -252
  64. package/_packed_docs/sdk/06-API/346/211/213/345/206/214.md +219 -177
  65. package/_packed_docs/sdk/07-/351/224/231/350/257/257/345/244/204/347/220/206.md +4 -1
  66. package/_packed_docs/sdk/08-/346/234/200/344/275/263/345/256/236/350/267/265.md +2 -0
  67. package/_packed_docs/sdk/09-collab-rpc-manual.md +581 -0
  68. package/_packed_docs/sdk/09-custody-api-manual.md +2 -0
  69. package/_packed_docs/sdk/09-group-rpc-manual.md +301 -634
  70. package/_packed_docs/sdk/09-message-rpc-manual.md +2 -0
  71. package/_packed_docs/sdk/09-meta-rpc-manual.md +2 -0
  72. package/_packed_docs/sdk/09-payload-reference.md +2 -0
  73. package/_packed_docs/sdk/09-proxy-rpc-manual.md +2 -0
  74. package/_packed_docs/sdk/09-storage-rpc-manual.md +984 -274
  75. package/_packed_docs/sdk/09-stream-rpc-manual.md +2 -0
  76. package/_packed_docs/sdk/AUN_DOCS_GUIDE.md +36 -23
  77. package/_packed_docs/sdk/E2EE_V2/346/266/210/346/201/257/351/200/232/344/277/241/346/227/266/345/272/217/345/233/276.md +2 -0
  78. package/_packed_docs/sdk/INDEX.md +47 -30
  79. package/_packed_docs/sdk/Notify/351/200/232/347/237/245/346/226/271/346/241/210.md +2 -0
  80. package/_packed_docs/sdk/README.md +17 -15
  81. package/dist/aid-store.d.ts +25 -0
  82. package/dist/aid-store.d.ts.map +1 -1
  83. package/dist/aid-store.js +89 -8
  84. package/dist/aid-store.js.map +1 -1
  85. package/dist/bundle.js +19615 -16870
  86. package/dist/client/delivery.d.ts +15 -2
  87. package/dist/client/delivery.d.ts.map +1 -1
  88. package/dist/client/delivery.js +303 -54
  89. package/dist/client/delivery.js.map +1 -1
  90. package/dist/client/group-state.d.ts.map +1 -1
  91. package/dist/client/group-state.js +36 -14
  92. package/dist/client/group-state.js.map +1 -1
  93. package/dist/client/lifecycle.js +2 -2
  94. package/dist/client/lifecycle.js.map +1 -1
  95. package/dist/client/rpc-pipeline.d.ts +2 -0
  96. package/dist/client/rpc-pipeline.d.ts.map +1 -1
  97. package/dist/client/rpc-pipeline.js +235 -82
  98. package/dist/client/rpc-pipeline.js.map +1 -1
  99. package/dist/client/v2-e2ee.d.ts +14 -1
  100. package/dist/client/v2-e2ee.d.ts.map +1 -1
  101. package/dist/client/v2-e2ee.js +300 -121
  102. package/dist/client/v2-e2ee.js.map +1 -1
  103. package/dist/client.d.ts +36 -4
  104. package/dist/client.d.ts.map +1 -1
  105. package/dist/client.js +460 -57
  106. package/dist/client.js.map +1 -1
  107. package/dist/collab/client.d.ts +47 -0
  108. package/dist/collab/client.d.ts.map +1 -0
  109. package/dist/collab/client.js +136 -0
  110. package/dist/collab/client.js.map +1 -0
  111. package/dist/collab/errors.d.ts +16 -0
  112. package/dist/collab/errors.d.ts.map +1 -0
  113. package/dist/collab/errors.js +60 -0
  114. package/dist/collab/errors.js.map +1 -0
  115. package/dist/collab/index.d.ts +4 -0
  116. package/dist/collab/index.d.ts.map +1 -0
  117. package/dist/collab/index.js +4 -0
  118. package/dist/collab/index.js.map +1 -0
  119. package/dist/collab/types.d.ts +111 -0
  120. package/dist/collab/types.d.ts.map +1 -0
  121. package/dist/collab/types.js +2 -0
  122. package/dist/collab/types.js.map +1 -0
  123. package/dist/crypto.d.ts +6 -0
  124. package/dist/crypto.d.ts.map +1 -1
  125. package/dist/crypto.js +6 -0
  126. package/dist/crypto.js.map +1 -1
  127. package/dist/errors.d.ts +0 -20
  128. package/dist/errors.d.ts.map +1 -1
  129. package/dist/errors.js +9 -37
  130. package/dist/errors.js.map +1 -1
  131. package/dist/facades.d.ts +94 -0
  132. package/dist/facades.d.ts.map +1 -0
  133. package/dist/facades.js +389 -0
  134. package/dist/facades.js.map +1 -0
  135. package/dist/group-fs.d.ts +120 -0
  136. package/dist/group-fs.d.ts.map +1 -0
  137. package/dist/group-fs.js +539 -0
  138. package/dist/group-fs.js.map +1 -0
  139. package/dist/group-id.d.ts +9 -12
  140. package/dist/group-id.d.ts.map +1 -1
  141. package/dist/group-id.js +41 -63
  142. package/dist/group-id.js.map +1 -1
  143. package/dist/group-resources.d.ts +98 -0
  144. package/dist/group-resources.d.ts.map +1 -0
  145. package/dist/group-resources.js +635 -0
  146. package/dist/group-resources.js.map +1 -0
  147. package/dist/index.d.ts +8 -3
  148. package/dist/index.d.ts.map +1 -1
  149. package/dist/index.js +10 -1
  150. package/dist/index.js.map +1 -1
  151. package/dist/keystore/index.d.ts +2 -54
  152. package/dist/keystore/index.d.ts.map +1 -1
  153. package/dist/keystore/indexeddb-identity-store.d.ts +3 -0
  154. package/dist/keystore/indexeddb-identity-store.d.ts.map +1 -1
  155. package/dist/keystore/indexeddb-identity-store.js +65 -0
  156. package/dist/keystore/indexeddb-identity-store.js.map +1 -1
  157. package/dist/keystore/indexeddb-shared.d.ts +3 -17
  158. package/dist/keystore/indexeddb-shared.d.ts.map +1 -1
  159. package/dist/keystore/indexeddb-shared.js +4 -47
  160. package/dist/keystore/indexeddb-shared.js.map +1 -1
  161. package/dist/keystore/indexeddb-token-store.d.ts +1 -64
  162. package/dist/keystore/indexeddb-token-store.d.ts.map +1 -1
  163. package/dist/keystore/indexeddb-token-store.js +45 -774
  164. package/dist/keystore/indexeddb-token-store.js.map +1 -1
  165. package/dist/logger.d.ts +2 -0
  166. package/dist/logger.d.ts.map +1 -1
  167. package/dist/logger.js +4 -0
  168. package/dist/logger.js.map +1 -1
  169. package/dist/register-flow.d.ts +1 -0
  170. package/dist/register-flow.d.ts.map +1 -1
  171. package/dist/register-flow.js +3 -0
  172. package/dist/register-flow.js.map +1 -1
  173. package/dist/service-proxy.d.ts +1 -0
  174. package/dist/service-proxy.d.ts.map +1 -1
  175. package/dist/service-proxy.js +15 -3
  176. package/dist/service-proxy.js.map +1 -1
  177. package/dist/storage/errors.d.ts +28 -0
  178. package/dist/storage/errors.d.ts.map +1 -0
  179. package/dist/storage/errors.js +65 -0
  180. package/dist/storage/errors.js.map +1 -0
  181. package/dist/storage/index.d.ts +2 -0
  182. package/dist/storage/index.d.ts.map +1 -0
  183. package/dist/storage/index.js +2 -0
  184. package/dist/storage/index.js.map +1 -0
  185. package/dist/storage/lowlevel.d.ts +322 -0
  186. package/dist/storage/lowlevel.d.ts.map +1 -0
  187. package/dist/storage/lowlevel.js +471 -0
  188. package/dist/storage/lowlevel.js.map +1 -0
  189. package/dist/storage/types.d.ts +59 -0
  190. package/dist/storage/types.d.ts.map +1 -0
  191. package/dist/storage/types.js +113 -0
  192. package/dist/storage/types.js.map +1 -0
  193. package/dist/storage/vfs.d.ts +166 -0
  194. package/dist/storage/vfs.d.ts.map +1 -0
  195. package/dist/storage/vfs.js +457 -0
  196. package/dist/storage/vfs.js.map +1 -0
  197. package/dist/tools/cross-sdk-agent.d.ts +3 -0
  198. package/dist/tools/cross-sdk-agent.d.ts.map +1 -0
  199. package/dist/tools/cross-sdk-agent.js +1376 -0
  200. package/dist/tools/cross-sdk-agent.js.map +1 -0
  201. package/dist/transport.d.ts +5 -0
  202. package/dist/transport.d.ts.map +1 -1
  203. package/dist/transport.js +125 -12
  204. package/dist/transport.js.map +1 -1
  205. package/dist/types.d.ts +39 -56
  206. package/dist/types.d.ts.map +1 -1
  207. package/dist/v2/session/session.d.ts +2 -0
  208. package/dist/v2/session/session.d.ts.map +1 -1
  209. package/dist/v2/session/session.js +58 -22
  210. package/dist/v2/session/session.js.map +1 -1
  211. package/dist/v2/state/commitment.d.ts +1 -1
  212. package/dist/v2/state/commitment.d.ts.map +1 -1
  213. package/dist/v2/state/commitment.js +5 -3
  214. package/dist/v2/state/commitment.js.map +1 -1
  215. package/dist/validators.d.ts +35 -0
  216. package/dist/validators.d.ts.map +1 -0
  217. package/dist/validators.js +127 -0
  218. package/dist/validators.js.map +1 -0
  219. package/dist/version.d.ts +1 -1
  220. package/dist/version.d.ts.map +1 -1
  221. package/dist/version.js +1 -1
  222. package/dist/version.js.map +1 -1
  223. package/package.json +44 -44
@@ -0,0 +1,127 @@
1
+ /**
2
+ * AID 和 Group ID 格式校验工具。
3
+ *
4
+ * 确保发送到服务端的目标标识符符合 AUN 协议规范,拒绝不合法的格式。
5
+ *
6
+ * 与 Python SDK aun_core.validators 保持等价(零代码共享,仅规范对齐)。
7
+ */
8
+ import { ValidationError } from './errors.js';
9
+ import { convertToGroupAid } from './group-id.js';
10
+ // AID name 规范:4-64 字符,仅 [a-z0-9_-],首字符不为 -,不以 guest 开头
11
+ const AID_NAME_RE = /^[a-z0-9_][a-z0-9_-]{3,63}$/;
12
+ // Group ID 格式(基于服务端实际实现)
13
+ // Legacy 格式:g- 后接 4-32 位小写字母数字
14
+ const GROUP_ID_LEGACY_PATTERN = /^g-[a-z0-9]{4,32}$/;
15
+ // 新格式 base:5 到 64 位小写字母数字
16
+ const GROUP_ID_NEW_BASE_PATTERN = /^[a-z0-9]{5,64}$/;
17
+ // Group name 格式:4-64 字符,首字符 [a-z0-9],可包含 _-
18
+ const GROUP_NAME_PATTERN = /^[a-z0-9][a-z0-9_-]{3,63}$/;
19
+ // 域名基本格式(简化版,不做完整 DNS 校验)
20
+ const DOMAIN_RE = /^[a-z0-9]([a-z0-9._-]*[a-z0-9])?$/;
21
+ /**
22
+ * 校验 AID 格式是否合法。
23
+ *
24
+ * 格式规范:{name}.{issuer}
25
+ * - name: 4-64 字节,仅 [a-z0-9_-],首字符不能是 -,不能以 guest 开头
26
+ * - issuer: 合法的可注册域名
27
+ *
28
+ * @param aid 待校验的 AID(可能是任意类型)
29
+ * @param paramName 参数名称(用于错误消息)
30
+ * @returns 规范化后的 AID(转小写、去空格)
31
+ * @throws ValidationError AID 格式不合法
32
+ */
33
+ export function validateAIDFormat(aid, paramName = 'aid') {
34
+ if (aid === null || aid === undefined || (typeof aid === 'string' && aid.trim() === '')) {
35
+ throw new ValidationError(`${paramName} cannot be empty`);
36
+ }
37
+ const aidStr = String(aid).trim().toLowerCase();
38
+ // 检查是否包含点号(必须有 issuer)
39
+ if (!aidStr.includes('.')) {
40
+ throw new ValidationError(`Invalid ${paramName} '${String(aid)}': must be in format '{name}.{issuer}'`);
41
+ }
42
+ // 分离 name 和 issuer(仅在第一个点号处分割)
43
+ const dotIdx = aidStr.indexOf('.');
44
+ const name = aidStr.slice(0, dotIdx);
45
+ const issuer = aidStr.slice(dotIdx + 1);
46
+ // 校验 name 部分
47
+ if (!name) {
48
+ throw new ValidationError(`Invalid ${paramName} '${String(aid)}': name part cannot be empty`);
49
+ }
50
+ if (!AID_NAME_RE.test(name)) {
51
+ throw new ValidationError(`Invalid ${paramName} '${String(aid)}': name '${name}' must be 4-64 characters, `
52
+ + `only [a-z0-9_-], cannot start with '-'`);
53
+ }
54
+ if (name.startsWith('guest')) {
55
+ throw new ValidationError(`Invalid ${paramName} '${String(aid)}': name cannot start with 'guest'`);
56
+ }
57
+ // 校验 issuer 部分
58
+ if (!issuer) {
59
+ throw new ValidationError(`Invalid ${paramName} '${String(aid)}': issuer part cannot be empty`);
60
+ }
61
+ if (!DOMAIN_RE.test(issuer)) {
62
+ throw new ValidationError(`Invalid ${paramName} '${String(aid)}': issuer '${issuer}' is not a valid domain`);
63
+ }
64
+ return aidStr;
65
+ }
66
+ function resolveGroupValidationArgs(defaultParamName, paramNameOrOptions, maybeOptions) {
67
+ if (typeof paramNameOrOptions === 'string') {
68
+ return {
69
+ paramName: paramNameOrOptions || defaultParamName,
70
+ localIssuer: maybeOptions?.localIssuer ?? '',
71
+ };
72
+ }
73
+ return {
74
+ paramName: paramNameOrOptions?.paramName ?? defaultParamName,
75
+ localIssuer: paramNameOrOptions?.localIssuer ?? '',
76
+ };
77
+ }
78
+ function validateGroupAidParts(raw, groupAid, paramName) {
79
+ const stripDots = (s) => s.replace(/^\.+|\.+$/g, '');
80
+ const dotIdx = groupAid.indexOf('.');
81
+ const base = dotIdx >= 0 ? stripDots(groupAid.slice(0, dotIdx)) : groupAid;
82
+ const domain = dotIdx >= 0 ? stripDots(groupAid.slice(dotIdx + 1)) : '';
83
+ if (!base) {
84
+ throw new ValidationError(`Invalid ${paramName} '${String(raw)}': base part cannot be empty`);
85
+ }
86
+ const isValidBase = (GROUP_ID_LEGACY_PATTERN.test(base)
87
+ || GROUP_ID_NEW_BASE_PATTERN.test(base)
88
+ || GROUP_NAME_PATTERN.test(base));
89
+ if (!isValidBase) {
90
+ throw new ValidationError(`Invalid ${paramName} '${String(raw)}': base '${base}' must be one of: `
91
+ + `legacy format 'g-[a-z0-9]{4,32}', new format '[a-z0-9]{5,64}', `
92
+ + `or group name format '[a-z0-9][a-z0-9_-]{3,63}'`);
93
+ }
94
+ if (domain && !DOMAIN_RE.test(domain)) {
95
+ throw new ValidationError(`Invalid ${paramName} '${String(raw)}': domain '${domain}' is not a valid domain`);
96
+ }
97
+ }
98
+ /**
99
+ * 校验群组标识并返回目标态 group_aid。
100
+ */
101
+ export function validateGroupAIDFormat(groupId, paramNameOrOptions = 'group_aid', maybeOptions) {
102
+ const { paramName, localIssuer } = resolveGroupValidationArgs('group_aid', paramNameOrOptions, maybeOptions);
103
+ if (groupId === null || groupId === undefined
104
+ || (typeof groupId === 'string' && groupId.trim() === '')) {
105
+ throw new ValidationError(`${paramName} cannot be empty`);
106
+ }
107
+ const rawText = String(groupId).trim();
108
+ if (rawText.includes('//')) {
109
+ throw new ValidationError(`Invalid ${paramName} '${String(groupId)}': empty path segment is not allowed`);
110
+ }
111
+ const groupAid = convertToGroupAid(rawText, { localIssuer });
112
+ if (!groupAid) {
113
+ throw new ValidationError(`${paramName} cannot be empty`);
114
+ }
115
+ validateGroupAidParts(groupId, groupAid, paramName);
116
+ return groupAid;
117
+ }
118
+ /**
119
+ * 校验 Group ID 格式是否合法。
120
+ *
121
+ * 旧函数名保留兼容,但返回目标态 group_aid。
122
+ */
123
+ export function validateGroupIDFormat(groupId, paramNameOrOptions = 'group_id', maybeOptions) {
124
+ const { paramName, localIssuer } = resolveGroupValidationArgs('group_id', paramNameOrOptions, maybeOptions);
125
+ return validateGroupAIDFormat(groupId, paramName, { localIssuer });
126
+ }
127
+ //# sourceMappingURL=validators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../src/validators.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.4.13";
1
+ export declare const VERSION = "0.5.1";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,OAAO,WAAW,CAAC"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,OAAO,UAAU,CAAC"}
package/dist/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // AUN SDK 版本号(单一事实来源)。
2
2
  // 所有引用点(index.ts / auth.ts / v2/e2ee/encrypt-p2p.ts)统一从此导入,
3
3
  // 避免多处独立定义导致版本号不一致。
4
- export const VERSION = '0.4.13';
4
+ export const VERSION = '0.5.1';
5
5
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,4DAA4D;AAC5D,oBAAoB;AACpB,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,4DAA4D;AAC5D,oBAAoB;AACpB,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}
package/package.json CHANGED
@@ -1,44 +1,44 @@
1
- {
2
- "name": "@agentunion/fastaun-browser",
3
- "version": "0.4.13",
4
- "description": "AUN Protocol Core SDK for Browser",
5
- "type": "module",
6
- "main": "dist/index.js",
7
- "types": "dist/index.d.ts",
8
- "browser": "dist/index.js",
9
- "exports": {
10
- ".": {
11
- "import": "./dist/index.js",
12
- "types": "./dist/index.d.ts"
13
- }
14
- },
15
- "license": "Apache-2.0",
16
- "files": [
17
- "dist",
18
- "_packed_docs",
19
- "README.md",
20
- "CHANGELOG.md",
21
- "LICENSE"
22
- ],
23
- "scripts": {
24
- "build": "tsc && node scripts/fix-esm-imports.mjs && esbuild src/index.ts --bundle --format=esm --outfile=dist/bundle.js --platform=browser --target=es2020",
25
- "prepack": "python ../scripts/sync_packed_docs.py js",
26
- "test": "vitest run --environment jsdom",
27
- "test:unit": "vitest run --environment jsdom tests/unit",
28
- "test:integration": "vitest run --environment jsdom --no-file-parallelism --maxWorkers=1 tests/integration",
29
- "test:e2e": "npm run build && playwright test --config=playwright.agentid-local.config.ts tests/e2e-browser/v2-p2p.spec.ts tests/e2e-browser/v2-group.spec.ts tests/e2e-browser/v2-thought.spec.ts --reporter=line",
30
- "test:e2e:smoke": "npm run build && playwright test --config=playwright.agentid-local.config.ts tests/e2e-browser/v2-p2p.spec.ts --grep \"V2 session 自动初始化\" --reporter=line"
31
- },
32
- "devDependencies": {
33
- "@playwright/test": "^1.59.1",
34
- "@types/node": "^22.19.19",
35
- "esbuild": "^0.24.0",
36
- "fake-indexeddb": "^6.2.5",
37
- "jsdom": "^25.0.0",
38
- "typescript": "^5.6.0",
39
- "vitest": "^2.0.0"
40
- },
41
- "dependencies": {
42
- "@noble/curves": "^2.2.0"
43
- }
44
- }
1
+ {
2
+ "name": "@agentunion/fastaun-browser",
3
+ "version": "0.5.1",
4
+ "description": "AUN Protocol Core SDK for Browser",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "browser": "dist/index.js",
9
+ "exports": {
10
+ ".": {
11
+ "import": "./dist/index.js",
12
+ "types": "./dist/index.d.ts"
13
+ }
14
+ },
15
+ "license": "Apache-2.0",
16
+ "files": [
17
+ "dist",
18
+ "_packed_docs",
19
+ "README.md",
20
+ "CHANGELOG.md",
21
+ "LICENSE"
22
+ ],
23
+ "scripts": {
24
+ "build": "tsc && node scripts/fix-esm-imports.mjs && esbuild src/index.ts --bundle --format=esm --outfile=dist/bundle.js --platform=browser --target=es2020",
25
+ "prepack": "python ../scripts/sync_packed_docs.py js",
26
+ "test": "vitest run --environment jsdom",
27
+ "test:unit": "vitest run --environment jsdom tests/unit",
28
+ "test:integration": "vitest run --environment jsdom --no-file-parallelism --maxWorkers=1 tests/integration",
29
+ "test:e2e": "npm run build && playwright test --config=playwright.agentid-local.config.ts tests/e2e-browser/v2-p2p.spec.ts tests/e2e-browser/v2-group.spec.ts tests/e2e-browser/v2-thought.spec.ts tests/e2e-browser/collab.spec.ts --reporter=line",
30
+ "test:e2e:smoke": "npm run build && playwright test --config=playwright.agentid-local.config.ts tests/e2e-browser/v2-p2p.spec.ts --grep \"V2 session 自动初始化\" --reporter=line"
31
+ },
32
+ "devDependencies": {
33
+ "@playwright/test": "^1.59.1",
34
+ "@types/node": "^22.19.19",
35
+ "esbuild": "^0.24.0",
36
+ "fake-indexeddb": "^6.2.5",
37
+ "jsdom": "^25.0.0",
38
+ "typescript": "^5.6.0",
39
+ "vitest": "^2.0.0"
40
+ },
41
+ "dependencies": {
42
+ "@noble/curves": "^2.2.0"
43
+ }
44
+ }