@agentunion/fastaun-browser 0.4.7 → 0.4.8

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 (78) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/_packed_docs/CHANGELOG.md +32 -0
  3. package/_packed_docs/INDEX.md +46 -22
  4. package/_packed_docs/KITE_DOCS_GUIDE.md +16 -12
  5. 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 +859 -0
  6. package/dist/agent-md.d.ts +1 -1
  7. package/dist/agent-md.d.ts.map +1 -1
  8. package/dist/agent-md.js +12 -5
  9. package/dist/agent-md.js.map +1 -1
  10. package/dist/aid-store.d.ts +0 -1
  11. package/dist/aid-store.d.ts.map +1 -1
  12. package/dist/aid-store.js +29 -14
  13. package/dist/aid-store.js.map +1 -1
  14. package/dist/aid.d.ts +1 -0
  15. package/dist/aid.d.ts.map +1 -1
  16. package/dist/aid.js +10 -4
  17. package/dist/aid.js.map +1 -1
  18. package/dist/bundle.js +9804 -8845
  19. package/dist/cert-utils.d.ts +5 -1
  20. package/dist/cert-utils.d.ts.map +1 -1
  21. package/dist/cert-utils.js +52 -8
  22. package/dist/cert-utils.js.map +1 -1
  23. package/dist/client/delivery.d.ts +44 -0
  24. package/dist/client/delivery.d.ts.map +1 -0
  25. package/dist/client/delivery.js +1033 -0
  26. package/dist/client/delivery.js.map +1 -0
  27. package/dist/client/group-state.d.ts +32 -0
  28. package/dist/client/group-state.d.ts.map +1 -0
  29. package/dist/client/group-state.js +909 -0
  30. package/dist/client/group-state.js.map +1 -0
  31. package/dist/client/identity.d.ts +8 -0
  32. package/dist/client/identity.d.ts.map +1 -0
  33. package/dist/client/identity.js +34 -0
  34. package/dist/client/identity.js.map +1 -0
  35. package/dist/client/lifecycle.d.ts +10 -0
  36. package/dist/client/lifecycle.d.ts.map +1 -0
  37. package/dist/client/lifecycle.js +222 -0
  38. package/dist/client/lifecycle.js.map +1 -0
  39. package/dist/client/peers.d.ts +11 -0
  40. package/dist/client/peers.d.ts.map +1 -0
  41. package/dist/client/peers.js +42 -0
  42. package/dist/client/peers.js.map +1 -0
  43. package/dist/client/rpc-pipeline.d.ts +36 -0
  44. package/dist/client/rpc-pipeline.d.ts.map +1 -0
  45. package/dist/client/rpc-pipeline.js +446 -0
  46. package/dist/client/rpc-pipeline.js.map +1 -0
  47. package/dist/client/runtime.d.ts +6 -0
  48. package/dist/client/runtime.d.ts.map +1 -0
  49. package/dist/client/runtime.js +7 -0
  50. package/dist/client/runtime.js.map +1 -0
  51. package/dist/client/v2-e2ee.d.ts +104 -0
  52. package/dist/client/v2-e2ee.d.ts.map +1 -0
  53. package/dist/client/v2-e2ee.js +1586 -0
  54. package/dist/client/v2-e2ee.js.map +1 -0
  55. package/dist/client.d.ts +26 -48
  56. package/dist/client.d.ts.map +1 -1
  57. package/dist/client.js +297 -3724
  58. package/dist/client.js.map +1 -1
  59. package/dist/config.d.ts.map +1 -1
  60. package/dist/config.js +4 -3
  61. package/dist/config.js.map +1 -1
  62. package/dist/discovery.d.ts.map +1 -1
  63. package/dist/discovery.js +69 -10
  64. package/dist/discovery.js.map +1 -1
  65. package/dist/v2/crypto/dh-path.js +2 -2
  66. package/dist/v2/crypto/index.js +7 -7
  67. package/dist/v2/e2ee/decrypt.js +8 -8
  68. package/dist/v2/e2ee/encrypt-group.js +9 -9
  69. package/dist/v2/e2ee/encrypt-p2p.js +9 -9
  70. package/dist/v2/e2ee/index.js +5 -5
  71. package/dist/v2/e2ee/metadata-auth.js +1 -1
  72. package/dist/v2/session/index.js +2 -2
  73. package/dist/v2/session/session.js +1 -1
  74. package/dist/v2/state/commitment.js +1 -1
  75. package/dist/v2/state/index.js +1 -1
  76. package/dist/version.d.ts +1 -1
  77. package/dist/version.js +1 -1
  78. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAyB7C,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GAClC,MAAM,CAUR;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,SAAY,GAAG,MAAM,CAOhF;AAED,2CAA2C;AAC3C,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAgBpC;AAED,mBAAmB;AACnB,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAcD,KAAK,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC;AAEtD,iDAAiD;AACjD,wBAAgB,YAAY,CAAC,GAAG,CAAC,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,CAuBnE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAyB7C,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GAClC,MAAM,CAUR;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,SAAY,GAAG,MAAM,CAOhF;AAED,2CAA2C;AAC3C,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAiBpC;AAED,mBAAmB;AACnB,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAcD,KAAK,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC;AAEtD,iDAAiD;AACjD,wBAAgB,YAAY,CAAC,GAAG,CAAC,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,CAuBnE"}
package/dist/config.js CHANGED
@@ -55,14 +55,15 @@ export function getDeviceId() {
55
55
  catch {
56
56
  // localStorage 不可用(隐私模式等)
57
57
  }
58
- const newId = normalizeInstanceId(crypto.randomUUID(), 'device_id');
59
58
  try {
59
+ const newId = normalizeInstanceId(crypto.randomUUID(), 'device_id');
60
60
  localStorage.setItem(STORAGE_KEY, newId);
61
+ return newId;
61
62
  }
62
63
  catch {
63
- // 写入失败时仍返回生成的 ID(本次会话内有效)
64
+ // 平台兼容 fallback
64
65
  }
65
- return newId;
66
+ return 'default';
66
67
  }
67
68
  /** AUN 配置默认值 */
68
69
  const DEFAULTS = {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAKhD;;;;GAIG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,IAAI,CAA0B;IACtC,SAAS,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IAElC,OAAO,CAAC,YAAY,CAAwB;IAE5C,uCAAuC;IACvC,IAAI,WAAW,IAAI,OAAO,GAAG,IAAI,CAA8B;IAE/D,oDAAoD;IAC9C,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,SAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAwBvE;;;;;OAKG;IACG,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,SAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAKrE;;OAEG;IACG,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,SAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAmD3E"}
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AA8DhD;;;;GAIG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,IAAI,CAA0B;IACtC,SAAS,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IAElC,OAAO,CAAC,YAAY,CAAwB;IAE5C,uCAAuC;IACvC,IAAI,WAAW,IAAI,OAAO,GAAG,IAAI,CAA8B;IAE/D,oDAAoD;IAC9C,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,SAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAwBvE;;;;;OAKG;IACG,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,SAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAKrE;;OAEG;IACG,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,SAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAwD3E"}
package/dist/discovery.js CHANGED
@@ -2,6 +2,59 @@
2
2
  import { ConnectionError, ValidationError } from './errors.js';
3
3
  import { isJsonObject } from './types.js';
4
4
  const _noopLog = { error: () => { }, warn: () => { }, info: () => { }, debug: () => { } };
5
+ const _DISCOVERY_RETRY_DELAYS_MS = [50, 100];
6
+ function _sleep(ms) {
7
+ return new Promise(resolve => globalThis.setTimeout(resolve, ms));
8
+ }
9
+ function _errorMessage(err) {
10
+ if (err instanceof Error)
11
+ return err.message;
12
+ return String(err);
13
+ }
14
+ function _errorForDisplay(err) {
15
+ return err instanceof Error ? String(err) : String(err);
16
+ }
17
+ function _isTransientDiscoveryError(err) {
18
+ if (err instanceof ValidationError)
19
+ return false;
20
+ const maybeError = err;
21
+ const name = typeof maybeError?.name === 'string' ? maybeError.name.toLowerCase() : '';
22
+ const code = typeof maybeError?.code === 'string' ? maybeError.code.toUpperCase() : '';
23
+ if (name === 'aborterror')
24
+ return true;
25
+ if (['ECONNRESET', 'ECONNREFUSED', 'ETIMEDOUT', 'EPIPE', 'EAI_AGAIN', 'ENOTFOUND'].includes(code)) {
26
+ return true;
27
+ }
28
+ const message = _errorMessage(err).toLowerCase();
29
+ if (/^http\s+\d+/.test(message))
30
+ return false;
31
+ return (message.includes('socket hang up') ||
32
+ message.includes('connection reset') ||
33
+ message.includes('econnreset') ||
34
+ message.includes('econnrefused') ||
35
+ message.includes('etimedout') ||
36
+ message.includes('epipe') ||
37
+ message.includes('timeout') ||
38
+ message.includes('fetch failed') ||
39
+ message.includes('network error') ||
40
+ message.includes('getaddrinfo'));
41
+ }
42
+ async function _fetchJsonWithTimeout(url, timeout) {
43
+ const controller = new AbortController();
44
+ const timer = globalThis.setTimeout(() => controller.abort(), timeout);
45
+ try {
46
+ const response = await fetch(url, {
47
+ signal: controller.signal,
48
+ });
49
+ if (!response.ok) {
50
+ throw new Error(`HTTP ${response.status}`);
51
+ }
52
+ return await response.json();
53
+ }
54
+ finally {
55
+ clearTimeout(timer);
56
+ }
57
+ }
5
58
  /**
6
59
  * Gateway 发现服务 — 通过 .well-known 端点发现 Gateway WebSocket URL。
7
60
  *
@@ -56,16 +109,22 @@ export class GatewayDiscovery {
56
109
  this._log.debug(`discoverAll enter: url=${wellKnownUrl}`);
57
110
  let payload;
58
111
  try {
59
- const controller = new AbortController();
60
- const timer = globalThis.setTimeout(() => controller.abort(), timeout);
61
- const response = await fetch(wellKnownUrl, {
62
- signal: controller.signal,
63
- });
64
- clearTimeout(timer);
65
- if (!response.ok) {
66
- throw new Error(`HTTP ${response.status}`);
112
+ let rawPayload = null;
113
+ const maxAttempts = _DISCOVERY_RETRY_DELAYS_MS.length + 1;
114
+ for (let attempt = 0; attempt < maxAttempts; attempt += 1) {
115
+ try {
116
+ rawPayload = await _fetchJsonWithTimeout(wellKnownUrl, timeout);
117
+ break;
118
+ }
119
+ catch (err) {
120
+ const isLastAttempt = attempt >= maxAttempts - 1;
121
+ if (isLastAttempt || !_isTransientDiscoveryError(err)) {
122
+ throw err;
123
+ }
124
+ this._log.warn(`gateway discover transient failure, retrying: url=${wellKnownUrl}, attempt=${attempt + 1}/${maxAttempts}, error=${_errorMessage(err)}`);
125
+ await _sleep(_DISCOVERY_RETRY_DELAYS_MS[attempt]);
126
+ }
67
127
  }
68
- const rawPayload = await response.json();
69
128
  if (!isJsonObject(rawPayload)) {
70
129
  throw new ValidationError('well-known returned invalid payload');
71
130
  }
@@ -73,7 +132,7 @@ export class GatewayDiscovery {
73
132
  }
74
133
  catch (exc) {
75
134
  this._log.debug(`discoverAll exit (error): elapsed=${Date.now() - tStart}ms err=${exc instanceof Error ? exc.message : String(exc)}`);
76
- throw new ConnectionError(`gateway discovery failed for ${wellKnownUrl}: ${exc}`, { retryable: true });
135
+ throw new ConnectionError(`gateway discovery failed for ${wellKnownUrl}: ${_errorForDisplay(exc)}`, { retryable: true });
77
136
  }
78
137
  const gateways = payload.gateways;
79
138
  if (!Array.isArray(gateways) || gateways.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAErD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE/D,OAAO,EAAE,YAAY,EAAoE,MAAM,YAAY,CAAC;AAE5G,MAAM,QAAQ,GAAiB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC;AACpG,MAAM,0BAA0B,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AAE7C,SAAS,MAAM,CAAC,EAAU;IACxB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,aAAa,CAAC,GAAY;IACjC,IAAI,GAAG,YAAY,KAAK;QAAE,OAAO,GAAG,CAAC,OAAO,CAAC;IAC7C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAY;IACpC,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,0BAA0B,CAAC,GAAY;IAC9C,IAAI,GAAG,YAAY,eAAe;QAAE,OAAO,KAAK,CAAC;IAEjD,MAAM,UAAU,GAAG,GAAyC,CAAC;IAC7D,MAAM,IAAI,GAAG,OAAO,UAAU,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvF,MAAM,IAAI,GAAG,OAAO,UAAU,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvF,IAAI,IAAI,KAAK,YAAY;QAAE,OAAO,IAAI,CAAC;IACvC,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAClG,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IACjD,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9C,OAAO,CACL,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAClC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;QAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;QACzB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;QAChC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;QACjC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAChC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,GAAW,EAAE,OAAe;IAC/D,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;IACvE,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAe,CAAC;IAC5C,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,gBAAgB;IACnB,IAAI,GAAiB,QAAQ,CAAC;IACtC,SAAS,CAAC,GAAiB,IAAU,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;IAE/C,YAAY,GAAmB,IAAI,CAAC;IAE5C,uCAAuC;IACvC,IAAI,WAAW,KAAqB,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IAE/D,oDAAoD;IACpD,KAAK,CAAC,WAAW,CAAC,UAAkB,EAAE,OAAO,GAAG,IAAI;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;QACnC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;QAClE,MAAM,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC5B,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,0BAA0B,SAAS,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;YACvE,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;YAClF,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC;QAC1C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,qCAAqC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtI,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,cAAc,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACnG,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,YAAoB,EAAE,OAAO,GAAG,IAAI;QACjD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,YAAoB,EAAE,OAAO,GAAG,IAAI;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,0BAA0B,YAAY,EAAE,CAAC,CAAC;QAC1D,IAAI,OAAiC,CAAC;QACtC,IAAI,CAAC;YACH,IAAI,UAAU,GAAc,IAAI,CAAC;YACjC,MAAM,WAAW,GAAG,0BAA0B,CAAC,MAAM,GAAG,CAAC,CAAC;YAC1D,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;gBAC1D,IAAI,CAAC;oBACH,UAAU,GAAG,MAAM,qBAAqB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;oBAChE,MAAM;gBACR,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,aAAa,GAAG,OAAO,IAAI,WAAW,GAAG,CAAC,CAAC;oBACjD,IAAI,aAAa,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,EAAE,CAAC;wBACtD,MAAM,GAAG,CAAC;oBACZ,CAAC;oBACD,IAAI,CAAC,IAAI,CAAC,IAAI,CACZ,qDAAqD,YAAY,aAAa,OAAO,GAAG,CAAC,IAAI,WAAW,WAAW,aAAa,CAAC,GAAG,CAAC,EAAE,CACxI,CAAC;oBACF,MAAM,MAAM,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,eAAe,CAAC,qCAAqC,CAAC,CAAC;YACnE,CAAC;YACD,OAAO,GAAG,UAAsC,CAAC;QACnD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,qCAAqC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtI,MAAM,IAAI,eAAe,CACvB,gCAAgC,YAAY,KAAK,gBAAgB,CAAC,GAAG,CAAC,EAAE,EACxE,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,qCAAqC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,uBAAuB,CAAC,CAAC;YACjG,MAAM,IAAI,eAAe,CAAC,oCAAoC,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAC/B,CAAC,CAAe,EAAE,CAAe,EAAE,EAAE,CACnC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC,CAC5D,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5E,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,qCAAqC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,oBAAoB,CAAC,CAAC;YAC9F,MAAM,IAAI,eAAe,CAAC,gCAAgC,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAEnD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,eAAe,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvG,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -7,8 +7,8 @@
7
7
  *
8
8
  * 浏览器实现:组合 ecdh.ts + hkdf.ts。
9
9
  */
10
- import { ecdhComputeShared } from './ecdh';
11
- import { hkdfSha256 } from './hkdf';
10
+ import { ecdhComputeShared } from './ecdh.js';
11
+ import { hkdfSha256 } from './hkdf.js';
12
12
  export const INFO_3DH = new TextEncoder().encode('AUN-V2-3DH');
13
13
  export const INFO_1DH = new TextEncoder().encode('AUN-V2-1DH');
14
14
  export const WRAP_KEY_LENGTH = 32;
@@ -1,8 +1,8 @@
1
- export { canonicalJson } from './canonical';
2
- export { ecdhComputeShared, generateP256Keypair, privateToPublicDer, } from './ecdh';
3
- export { hkdfSha256 } from './hkdf';
4
- export { aesGcmEncrypt, aesGcmDecrypt } from './aead';
5
- export { ecdsaSignRaw, ecdsaVerifyRaw } from './ecdsa';
6
- export { compute1DHWrap, compute3DHWrap, INFO_1DH, INFO_3DH, WRAP_KEY_LENGTH, } from './dh-path';
7
- export { sortRecipients, computeLeafHash, computeMerkleRoot, computeMerkleProof, verifyMerkleProof, computeRecipientsDigest, } from './recipients';
1
+ export { canonicalJson } from './canonical.js';
2
+ export { ecdhComputeShared, generateP256Keypair, privateToPublicDer, } from './ecdh.js';
3
+ export { hkdfSha256 } from './hkdf.js';
4
+ export { aesGcmEncrypt, aesGcmDecrypt } from './aead.js';
5
+ export { ecdsaSignRaw, ecdsaVerifyRaw } from './ecdsa.js';
6
+ export { compute1DHWrap, compute3DHWrap, INFO_1DH, INFO_3DH, WRAP_KEY_LENGTH, } from './dh-path.js';
7
+ export { sortRecipients, computeLeafHash, computeMerkleRoot, computeMerkleProof, verifyMerkleProof, computeRecipientsDigest, } from './recipients.js';
8
8
  //# sourceMappingURL=index.js.map
@@ -7,14 +7,14 @@
7
7
  *
8
8
  * 参考实现: python/src/aun_core/v2/e2ee/decrypt.py
9
9
  */
10
- import { canonicalJson } from '../crypto/canonical';
11
- import { ecdsaVerifyRaw } from '../crypto/ecdsa';
12
- import { ecdhComputeShared } from '../crypto/ecdh';
13
- import { hkdfSha256 } from '../crypto/hkdf';
14
- import { aesGcmDecrypt } from '../crypto/aead';
15
- import { computeLeafHash, computeMerkleRoot, verifyMerkleProof, } from '../crypto/recipients';
16
- import { SUITE_NAME } from './types';
17
- import { verifyMetadataAuth, PROTECTED_HEADERS_DOMAIN, PROTECTED_CONTEXT_DOMAIN, } from './metadata-auth';
10
+ import { canonicalJson } from '../crypto/canonical.js';
11
+ import { ecdsaVerifyRaw } from '../crypto/ecdsa.js';
12
+ import { ecdhComputeShared } from '../crypto/ecdh.js';
13
+ import { hkdfSha256 } from '../crypto/hkdf.js';
14
+ import { aesGcmDecrypt } from '../crypto/aead.js';
15
+ import { computeLeafHash, computeMerkleRoot, verifyMerkleProof, } from '../crypto/recipients.js';
16
+ import { SUITE_NAME } from './types.js';
17
+ import { verifyMetadataAuth, PROTECTED_HEADERS_DOMAIN, PROTECTED_CONTEXT_DOMAIN, } from './metadata-auth.js';
18
18
  const encoder = new TextEncoder();
19
19
  const INFO_3DH = encoder.encode('AUN-V2-3DH');
20
20
  const INFO_1DH = encoder.encode('AUN-V2-1DH');
@@ -6,15 +6,15 @@
6
6
  *
7
7
  * 参考实现: python/src/aun_core/v2/e2ee/encrypt_group.py
8
8
  */
9
- import { canonicalJson } from '../crypto/canonical';
10
- import { ecdsaSignRaw } from '../crypto/ecdsa';
11
- import { aesGcmEncrypt } from '../crypto/aead';
12
- import { generateP256Keypair } from '../crypto/ecdh';
13
- import { compute3DHWrap, compute1DHWrap } from '../crypto/dh-path';
14
- import { sortRecipients, computeRecipientsDigest } from '../crypto/recipients';
15
- import { SUITE_NAME, } from './types';
16
- import { withMetadataAuth, PROTECTED_HEADERS_DOMAIN, PROTECTED_CONTEXT_DOMAIN, } from './metadata-auth';
17
- import { normalizeProtectedHeaders } from './encrypt-p2p';
9
+ import { canonicalJson } from '../crypto/canonical.js';
10
+ import { ecdsaSignRaw } from '../crypto/ecdsa.js';
11
+ import { aesGcmEncrypt } from '../crypto/aead.js';
12
+ import { generateP256Keypair } from '../crypto/ecdh.js';
13
+ import { compute3DHWrap, compute1DHWrap } from '../crypto/dh-path.js';
14
+ import { sortRecipients, computeRecipientsDigest } from '../crypto/recipients.js';
15
+ import { SUITE_NAME, } from './types.js';
16
+ import { withMetadataAuth, PROTECTED_HEADERS_DOMAIN, PROTECTED_CONTEXT_DOMAIN, } from './metadata-auth.js';
17
+ import { normalizeProtectedHeaders } from './encrypt-p2p.js';
18
18
  const encoder = new TextEncoder();
19
19
  async function sha256(data) {
20
20
  const buf = await crypto.subtle.digest('SHA-256', data.slice().buffer);
@@ -7,15 +7,15 @@
7
7
  *
8
8
  * 参考实现: python/src/aun_core/v2/e2ee/encrypt_p2p.py
9
9
  */
10
- import { canonicalJson } from '../crypto/canonical';
11
- import { ecdsaSignRaw } from '../crypto/ecdsa';
12
- import { aesGcmEncrypt } from '../crypto/aead';
13
- import { generateP256Keypair } from '../crypto/ecdh';
14
- import { compute3DHWrap, compute1DHWrap } from '../crypto/dh-path';
15
- import { sortRecipients, computeRecipientsDigest } from '../crypto/recipients';
16
- import { SUITE_NAME, } from './types';
17
- import { withMetadataAuth, PROTECTED_HEADERS_DOMAIN, PROTECTED_CONTEXT_DOMAIN, } from './metadata-auth';
18
- import { VERSION as E2EE_SDK_VERSION } from '../../version';
10
+ import { canonicalJson } from '../crypto/canonical.js';
11
+ import { ecdsaSignRaw } from '../crypto/ecdsa.js';
12
+ import { aesGcmEncrypt } from '../crypto/aead.js';
13
+ import { generateP256Keypair } from '../crypto/ecdh.js';
14
+ import { compute3DHWrap, compute1DHWrap } from '../crypto/dh-path.js';
15
+ import { sortRecipients, computeRecipientsDigest } from '../crypto/recipients.js';
16
+ import { SUITE_NAME, } from './types.js';
17
+ import { withMetadataAuth, PROTECTED_HEADERS_DOMAIN, PROTECTED_CONTEXT_DOMAIN, } from './metadata-auth.js';
18
+ import { VERSION as E2EE_SDK_VERSION } from '../../version.js';
19
19
  const encoder = new TextEncoder();
20
20
  const decoder = new TextDecoder();
21
21
  const E2EE_SDK_LANG = 'javascript';
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * AUN E2EE V2: e2ee 模块统一导出
3
3
  */
4
- export * from './types';
5
- export { encryptP2PMessage } from './encrypt-p2p';
6
- export { encryptGroupMessage } from './encrypt-group';
7
- export { decryptMessage } from './decrypt';
8
- export { withMetadataAuth, METADATA_KEY_DOMAIN, PROTECTED_HEADERS_DOMAIN, PROTECTED_CONTEXT_DOMAIN, } from './metadata-auth';
4
+ export * from './types.js';
5
+ export { encryptP2PMessage } from './encrypt-p2p.js';
6
+ export { encryptGroupMessage } from './encrypt-group.js';
7
+ export { decryptMessage } from './decrypt.js';
8
+ export { withMetadataAuth, METADATA_KEY_DOMAIN, PROTECTED_HEADERS_DOMAIN, PROTECTED_CONTEXT_DOMAIN, } from './metadata-auth.js';
9
9
  //# sourceMappingURL=index.js.map
@@ -8,7 +8,7 @@
8
8
  *
9
9
  * 参考实现: python/src/aun_core/v2/e2ee/encrypt_p2p.py
10
10
  */
11
- import { canonicalJson } from '../crypto/canonical';
11
+ import { canonicalJson } from '../crypto/canonical.js';
12
12
  const encoder = new TextEncoder();
13
13
  export const METADATA_KEY_DOMAIN = encoder.encode('aun-envelope-metadata-key-v1');
14
14
  export const PROTECTED_HEADERS_DOMAIN = encoder.encode('aun-protected-headers-v1');
@@ -1,3 +1,3 @@
1
- export { V2KeyStore, V2_DB_NAME, V2_DB_VERSION, V2_STORE_NAME } from './keystore';
2
- export { V2Session, PEER_KEY_CACHE_TTL_MS, DESTROY_DELAY_MS, RECENT_GENERATIONS, } from './session';
1
+ export { V2KeyStore, V2_DB_NAME, V2_DB_VERSION, V2_STORE_NAME } from './keystore.js';
2
+ export { V2Session, PEER_KEY_CACHE_TTL_MS, DESTROY_DELAY_MS, RECENT_GENERATIONS, } from './session.js';
3
3
  //# sourceMappingURL=index.js.map
@@ -13,7 +13,7 @@
13
13
  *
14
14
  * 浏览器目标:所有 store 调用均 `await`,签名走 noble(确定性 ECDSA)。
15
15
  */
16
- import { generateP256Keypair, ecdsaSignRaw } from '../crypto/index';
16
+ import { generateP256Keypair, ecdsaSignRaw } from '../crypto/index.js';
17
17
  /** 对端 IK 公钥缓存 TTL(毫秒)。 */
18
18
  export const PEER_KEY_CACHE_TTL_MS = 60 * 60 * 1000; // 1h
19
19
  /** SPK 销毁安全窗口(毫秒)。 */
@@ -15,7 +15,7 @@
15
15
  *
16
16
  * 浏览器实现:使用 WebCrypto subtle.digest('SHA-256'),async。
17
17
  */
18
- import { canonicalJson } from '../crypto/canonical';
18
+ import { canonicalJson } from '../crypto/canonical.js';
19
19
  export const STATE_PREFIX = new TextEncoder().encode('AUN-V2-SC-v1');
20
20
  /** 深拷贝(state_payload 仅含 JSON 兼容值) */
21
21
  function deepClone(x) {
@@ -1,2 +1,2 @@
1
- export { computeStateCommitment, STATE_PREFIX } from './commitment';
1
+ export { computeStateCommitment, STATE_PREFIX } from './commitment.js';
2
2
  //# sourceMappingURL=index.js.map
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.4.7";
1
+ export declare const VERSION = "0.4.8";
2
2
  //# sourceMappingURL=version.d.ts.map
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.7';
4
+ export const VERSION = '0.4.8';
5
5
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentunion/fastaun-browser",
3
- "version": "0.4.7",
3
+ "version": "0.4.8",
4
4
  "description": "AUN Protocol Core SDK for Browser",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -21,7 +21,7 @@
21
21
  "LICENSE"
22
22
  ],
23
23
  "scripts": {
24
- "build": "tsc && esbuild src/index.ts --bundle --format=esm --outfile=dist/bundle.js --platform=browser --target=es2020",
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
25
  "prepack": "python ../scripts/sync_packed_docs.py js",
26
26
  "test": "vitest run --environment jsdom",
27
27
  "test:unit": "vitest run --environment jsdom tests/unit",