@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.
- package/CHANGELOG.md +32 -0
- package/_packed_docs/CHANGELOG.md +32 -0
- package/_packed_docs/INDEX.md +46 -22
- package/_packed_docs/KITE_DOCS_GUIDE.md +16 -12
- 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
- package/dist/agent-md.d.ts +1 -1
- package/dist/agent-md.d.ts.map +1 -1
- package/dist/agent-md.js +12 -5
- package/dist/agent-md.js.map +1 -1
- package/dist/aid-store.d.ts +0 -1
- package/dist/aid-store.d.ts.map +1 -1
- package/dist/aid-store.js +29 -14
- package/dist/aid-store.js.map +1 -1
- package/dist/aid.d.ts +1 -0
- package/dist/aid.d.ts.map +1 -1
- package/dist/aid.js +10 -4
- package/dist/aid.js.map +1 -1
- package/dist/bundle.js +9804 -8845
- package/dist/cert-utils.d.ts +5 -1
- package/dist/cert-utils.d.ts.map +1 -1
- package/dist/cert-utils.js +52 -8
- package/dist/cert-utils.js.map +1 -1
- package/dist/client/delivery.d.ts +44 -0
- package/dist/client/delivery.d.ts.map +1 -0
- package/dist/client/delivery.js +1033 -0
- package/dist/client/delivery.js.map +1 -0
- package/dist/client/group-state.d.ts +32 -0
- package/dist/client/group-state.d.ts.map +1 -0
- package/dist/client/group-state.js +909 -0
- package/dist/client/group-state.js.map +1 -0
- package/dist/client/identity.d.ts +8 -0
- package/dist/client/identity.d.ts.map +1 -0
- package/dist/client/identity.js +34 -0
- package/dist/client/identity.js.map +1 -0
- package/dist/client/lifecycle.d.ts +10 -0
- package/dist/client/lifecycle.d.ts.map +1 -0
- package/dist/client/lifecycle.js +222 -0
- package/dist/client/lifecycle.js.map +1 -0
- package/dist/client/peers.d.ts +11 -0
- package/dist/client/peers.d.ts.map +1 -0
- package/dist/client/peers.js +42 -0
- package/dist/client/peers.js.map +1 -0
- package/dist/client/rpc-pipeline.d.ts +36 -0
- package/dist/client/rpc-pipeline.d.ts.map +1 -0
- package/dist/client/rpc-pipeline.js +446 -0
- package/dist/client/rpc-pipeline.js.map +1 -0
- package/dist/client/runtime.d.ts +6 -0
- package/dist/client/runtime.d.ts.map +1 -0
- package/dist/client/runtime.js +7 -0
- package/dist/client/runtime.js.map +1 -0
- package/dist/client/v2-e2ee.d.ts +104 -0
- package/dist/client/v2-e2ee.d.ts.map +1 -0
- package/dist/client/v2-e2ee.js +1586 -0
- package/dist/client/v2-e2ee.js.map +1 -0
- package/dist/client.d.ts +26 -48
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +297 -3724
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +4 -3
- package/dist/config.js.map +1 -1
- package/dist/discovery.d.ts.map +1 -1
- package/dist/discovery.js +69 -10
- package/dist/discovery.js.map +1 -1
- package/dist/v2/crypto/dh-path.js +2 -2
- package/dist/v2/crypto/index.js +7 -7
- package/dist/v2/e2ee/decrypt.js +8 -8
- package/dist/v2/e2ee/encrypt-group.js +9 -9
- package/dist/v2/e2ee/encrypt-p2p.js +9 -9
- package/dist/v2/e2ee/index.js +5 -5
- package/dist/v2/e2ee/metadata-auth.js +1 -1
- package/dist/v2/session/index.js +2 -2
- package/dist/v2/session/session.js +1 -1
- package/dist/v2/state/commitment.js +1 -1
- package/dist/v2/state/index.js +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -2
package/dist/config.d.ts.map
CHANGED
|
@@ -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,
|
|
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
|
-
//
|
|
64
|
+
// 平台兼容 fallback
|
|
64
65
|
}
|
|
65
|
-
return
|
|
66
|
+
return 'default';
|
|
66
67
|
}
|
|
67
68
|
/** AUN 配置默认值 */
|
|
68
69
|
const DEFAULTS = {
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAK9C,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;AAEpG,MAAM,mBAAmB,GAAG,yBAAyB,CAAC;AACtD,wCAAwC;AACxC,MAAM,eAAe,GAAG,0CAA0C,CAAC;AAEnE,SAAS,UAAU,CAAC,KAAmC,EAAE,QAAgB;IACvE,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACtD,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAmC,EAAE,QAAuB;IACtF,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACtD,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAmC,EAAE,QAAuB;IACtF,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AAChF,CAAC;AAED,SAAS,WAAW,CAAC,KAAmC,EAAE,QAAiB;IACzE,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,KAAc,EACd,KAAa,EACb,OAAiC,EAAE;IAEnC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACxC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;QAC/B,MAAM,IAAI,eAAe,CAAC,GAAG,KAAK,6BAA6B,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,eAAe,CAAC,GAAG,KAAK,kCAAkC,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAc,EAAE,YAAY,GAAG,SAAS;IACtE,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,GAAG,IAAI,YAAY,CAAC;IACjC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,eAAe,CAAC,yCAAyC,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACnC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,WAAW,GAAG,eAAe,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,MAAM;YAAE,OAAO,mBAAmB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,0BAA0B;IAC5B,CAAC;IAED,MAAM,KAAK,GAAG,mBAAmB,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,WAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/discovery.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
-
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
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) {
|
package/dist/discovery.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
package/dist/v2/crypto/index.js
CHANGED
|
@@ -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
|
package/dist/v2/e2ee/decrypt.js
CHANGED
|
@@ -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';
|
package/dist/v2/e2ee/index.js
CHANGED
|
@@ -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');
|
package/dist/v2/session/index.js
CHANGED
|
@@ -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) {
|
package/dist/v2/state/index.js
CHANGED
|
@@ -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.
|
|
1
|
+
export declare const VERSION = "0.4.8";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agentunion/fastaun-browser",
|
|
3
|
-
"version": "0.4.
|
|
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",
|