@agentunion/fastaun 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.
- package/CHANGELOG.md +547 -393
- package/_packed_docs/CHANGELOG-validators.md +144 -0
- package/_packed_docs/CHANGELOG.md +547 -393
- package/_packed_docs/INDEX.md +159 -84
- package/_packed_docs/KITE_DOCS_GUIDE.md +48 -31
- package/_packed_docs/agent.md/SCHEMA.md +2 -0
- package/_packed_docs/agent.md/examples/codeagent-claudecode.md +2 -0
- package/_packed_docs/agent.md/examples/human-developer.md +2 -0
- package/_packed_docs/agent.md/examples/openclaw-lobster.md +2 -0
- package/_packed_docs/agent.md/examples/signed-openclaw-lobster.md +2 -0
- 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
- package/_packed_docs/cli/AUN-CLI/350/256/276/350/256/241/346/226/207/346/241/243.md +266 -686
- package/_packed_docs/cli/CLI/346/211/213/345/206/214.md +331 -0
- package/_packed_docs/design/2026-05-22-aun-rpc-trace-enhancement.md +2 -0
- 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
- 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
- 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
- package/_packed_docs/protocol/00-/346/200/273/350/247/210/344/270/216/345/210/206/345/261/202.md +2 -0
- 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
- 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
- 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
- package/_packed_docs/protocol/03-Gateway-/350/277/236/346/216/245/346/250/241/345/274/217.md +2 -0
- package/_packed_docs/protocol/04-Peer-/345/255/220/345/215/217/350/256/256.md +2 -0
- package/_packed_docs/protocol/05-Relay-/345/255/220/345/215/217/350/256/256.md +2 -0
- 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
- package/_packed_docs/protocol/08-AUN-E2EE-Group.md +296 -900
- package/_packed_docs/protocol/08-AUN-E2EE.md +2 -0
- package/_packed_docs/protocol/09-/345/256/211/345/205/250/350/200/203/350/231/221.md +2 -0
- package/_packed_docs/protocol/10-Group-/345/255/220/345/215/217/350/256/256.md +66 -173
- package/_packed_docs/protocol/11-Storage-/345/255/220/345/215/217/350/256/256.md +55 -0
- package/_packed_docs/protocol/12-Stream-/345/255/220/345/215/217/350/256/256.md +2 -0
- package/_packed_docs/protocol/13-Agent/350/241/214/344/270/272/350/247/204/350/214/203.md +2 -0
- 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
- 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
- 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
- package/_packed_docs/protocol/README.md +4 -1
- package/_packed_docs/protocol/agent.md/SCHEMA.md +2 -0
- package/_packed_docs/protocol/agent.md/examples/codeagent-claudecode.md +2 -0
- package/_packed_docs/protocol/agent.md/examples/human-developer.md +2 -0
- package/_packed_docs/protocol/agent.md/examples/openclaw-lobster.md +2 -0
- package/_packed_docs/protocol/aun-docs-guide.md +2 -0
- package/_packed_docs/protocol/index.md +10 -3
- 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
- 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
- package/_packed_docs/protocol//351/231/204/345/275/225A-/346/234/257/350/257/255/350/241/250.md +2 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/_packed_docs/sdk/01-/345/277/253/351/200/237/345/274/200/345/247/213.md +2 -0
- package/_packed_docs/sdk/02-WebSocket/345/215/217/350/256/256.md +2 -0
- package/_packed_docs/sdk/03-/346/240/270/345/277/203/346/246/202/345/277/265.md +2 -0
- package/_packed_docs/sdk/04-/350/277/236/346/216/245/344/270/216/350/256/244/350/257/201.md +2 -0
- package/_packed_docs/sdk/05-E2EE/345/212/240/345/257/206/351/200/232/344/277/241.md +6 -252
- package/_packed_docs/sdk/06-API/346/211/213/345/206/214.md +219 -177
- package/_packed_docs/sdk/07-/351/224/231/350/257/257/345/244/204/347/220/206.md +4 -1
- package/_packed_docs/sdk/08-/346/234/200/344/275/263/345/256/236/350/267/265.md +2 -0
- package/_packed_docs/sdk/09-collab-rpc-manual.md +581 -0
- package/_packed_docs/sdk/09-custody-api-manual.md +2 -0
- package/_packed_docs/sdk/09-group-rpc-manual.md +301 -634
- package/_packed_docs/sdk/09-message-rpc-manual.md +2 -0
- package/_packed_docs/sdk/09-meta-rpc-manual.md +2 -0
- package/_packed_docs/sdk/09-payload-reference.md +2 -0
- package/_packed_docs/sdk/09-proxy-rpc-manual.md +2 -0
- package/_packed_docs/sdk/09-storage-rpc-manual.md +984 -274
- package/_packed_docs/sdk/09-stream-rpc-manual.md +2 -0
- package/_packed_docs/sdk/AUN_DOCS_GUIDE.md +36 -23
- 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
- package/_packed_docs/sdk/INDEX.md +47 -30
- package/_packed_docs/sdk/Notify/351/200/232/347/237/245/346/226/271/346/241/210.md +2 -0
- package/_packed_docs/sdk/README.md +17 -15
- package/dist/aid-store.d.ts +25 -0
- package/dist/aid-store.js +80 -0
- package/dist/aid-store.js.map +1 -1
- package/dist/client/delivery.d.ts +11 -0
- package/dist/client/delivery.js +208 -25
- package/dist/client/delivery.js.map +1 -1
- package/dist/client/group-state.js +33 -11
- package/dist/client/group-state.js.map +1 -1
- package/dist/client/rpc-pipeline.d.ts +1 -0
- package/dist/client/rpc-pipeline.js +177 -65
- package/dist/client/rpc-pipeline.js.map +1 -1
- package/dist/client/v2-e2ee.d.ts +6 -1
- package/dist/client/v2-e2ee.js +199 -130
- package/dist/client/v2-e2ee.js.map +1 -1
- package/dist/client.d.ts +37 -1
- package/dist/client.js +491 -44
- package/dist/client.js.map +1 -1
- package/dist/collab/client.d.ts +46 -0
- package/dist/collab/client.js +136 -0
- package/dist/collab/client.js.map +1 -0
- package/dist/collab/errors.d.ts +15 -0
- package/dist/collab/errors.js +60 -0
- package/dist/collab/errors.js.map +1 -0
- package/dist/collab/index.d.ts +3 -0
- package/dist/collab/index.js +4 -0
- package/dist/collab/index.js.map +1 -0
- package/dist/collab/types.d.ts +110 -0
- package/dist/collab/types.js +2 -0
- package/dist/collab/types.js.map +1 -0
- package/dist/crypto.d.ts +2 -0
- package/dist/crypto.js +6 -0
- package/dist/crypto.js.map +1 -1
- package/dist/errors.d.ts +0 -12
- package/dist/errors.js +9 -25
- package/dist/errors.js.map +1 -1
- package/dist/facades.d.ts +94 -0
- package/dist/facades.js +255 -0
- package/dist/facades.js.map +1 -0
- package/dist/group-fs.d.ts +122 -0
- package/dist/group-fs.js +467 -0
- package/dist/group-fs.js.map +1 -0
- package/dist/group-id.d.ts +9 -12
- package/dist/group-id.js +41 -63
- package/dist/group-id.js.map +1 -1
- package/dist/group-resources.d.ts +31 -0
- package/dist/group-resources.js +84 -0
- package/dist/group-resources.js.map +1 -0
- package/dist/index.d.ts +9 -3
- package/dist/index.js +11 -1
- package/dist/index.js.map +1 -1
- package/dist/keystore/aid-db.d.ts +1 -0
- package/dist/keystore/aid-db.js +43 -43
- package/dist/keystore/aid-db.js.map +1 -1
- package/dist/keystore/local-identity-store.d.ts +16 -0
- package/dist/keystore/local-identity-store.js +190 -18
- package/dist/keystore/local-identity-store.js.map +1 -1
- package/dist/keystore/local-token-store.d.ts +0 -13
- package/dist/keystore/local-token-store.js +0 -105
- package/dist/keystore/local-token-store.js.map +1 -1
- package/dist/logger.d.ts +2 -0
- package/dist/logger.js +4 -0
- package/dist/logger.js.map +1 -1
- package/dist/register-flow.d.ts +1 -0
- package/dist/register-flow.js +3 -0
- package/dist/register-flow.js.map +1 -1
- package/dist/service-proxy.d.ts +1 -0
- package/dist/service-proxy.js +17 -4
- package/dist/service-proxy.js.map +1 -1
- package/dist/storage/errors.d.ts +27 -0
- package/dist/storage/errors.js +65 -0
- package/dist/storage/errors.js.map +1 -0
- package/dist/storage/index.d.ts +1 -0
- package/dist/storage/index.js +2 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/lowlevel.d.ts +321 -0
- package/dist/storage/lowlevel.js +475 -0
- package/dist/storage/lowlevel.js.map +1 -0
- package/dist/storage/types.d.ts +57 -0
- package/dist/storage/types.js +116 -0
- package/dist/storage/types.js.map +1 -0
- package/dist/storage/vfs.d.ts +166 -0
- package/dist/storage/vfs.js +524 -0
- package/dist/storage/vfs.js.map +1 -0
- package/dist/tools/cross-sdk-agent.js +708 -1
- package/dist/tools/cross-sdk-agent.js.map +1 -1
- package/dist/transport.d.ts +5 -0
- package/dist/transport.js +124 -21
- package/dist/transport.js.map +1 -1
- package/dist/types.d.ts +38 -0
- package/dist/v2/session/session.d.ts +2 -0
- package/dist/v2/session/session.js +53 -23
- package/dist/v2/session/session.js.map +1 -1
- package/dist/v2/state/commitment.d.ts +1 -1
- package/dist/v2/state/commitment.js +4 -2
- package/dist/v2/state/commitment.js.map +1 -1
- package/dist/validators.d.ts +32 -0
- package/dist/validators.js +128 -0
- package/dist/validators.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +1 -1
package/dist/group-id.js
CHANGED
|
@@ -1,94 +1,72 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* group_id
|
|
2
|
+
* group_id/group_aid 兼容转换工具。
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* 历史上出现过四种老/脏格式:
|
|
7
|
-
* 1. {base}.{domain} 例如 g-xxx.agentid.pub / 10086.agentid.pub
|
|
8
|
-
* 2. g-{slug}.{domain} (属于 1 的一种)
|
|
9
|
-
* 3. {base}@{domain} 例如 g-xxx@agentid.pub
|
|
10
|
-
* 4. group.{A}/{base}@{B} 旧版服务端迁移脚本未识别 @ 导致的污染数据
|
|
11
|
-
* 真实语义:group.{B}.{A}/{base}
|
|
12
|
-
*
|
|
13
|
-
* 与 Python SDK aun_core.group_id 和服务端
|
|
14
|
-
* extensions/services/group/service._split_group_id_domain 保持等价,零代码共享。
|
|
4
|
+
* 目标态群组主标识是 group_aid,格式为 `{base}.{issuer}`。
|
|
5
|
+
* 历史 group_id 字段名继续保留,但旧函数名也返回 group_aid。
|
|
15
6
|
*/
|
|
16
|
-
|
|
17
|
-
|
|
7
|
+
function trimDots(value) {
|
|
8
|
+
return value.replace(/^\.+|\.+$/g, '');
|
|
9
|
+
}
|
|
10
|
+
export function convertToGroupAid(raw, opts) {
|
|
11
|
+
const value = String(raw ?? '').trim().replace(/^\/+|\/+$/g, '').toLowerCase();
|
|
18
12
|
if (!value)
|
|
19
13
|
return '';
|
|
20
|
-
// 情况 4:已迁移但 base 位置残留 @issuer 尾巴
|
|
21
14
|
if (value.startsWith('group.') && value.includes('/')) {
|
|
22
15
|
const issuerAndBase = value.slice(6);
|
|
23
16
|
const slashIdx = issuerAndBase.indexOf('/');
|
|
24
17
|
if (slashIdx > 0 && slashIdx < issuerAndBase.length - 1) {
|
|
25
|
-
const
|
|
26
|
-
const baseTail = issuerAndBase.slice(slashIdx + 1);
|
|
18
|
+
const domain = trimDots(issuerAndBase.slice(0, slashIdx));
|
|
19
|
+
const baseTail = issuerAndBase.slice(slashIdx + 1).replace(/^\/+|\/+$/g, '');
|
|
27
20
|
if (baseTail.includes('@')) {
|
|
28
21
|
const atIdx = baseTail.indexOf('@');
|
|
29
|
-
const base = baseTail.slice(0, atIdx)
|
|
30
|
-
const
|
|
31
|
-
if (base &&
|
|
32
|
-
const merged =
|
|
33
|
-
return
|
|
22
|
+
const base = trimDots(baseTail.slice(0, atIdx));
|
|
23
|
+
const suffixDomain = trimDots(baseTail.slice(atIdx + 1));
|
|
24
|
+
if (base && suffixDomain) {
|
|
25
|
+
const merged = domain ? `${suffixDomain}.${domain}` : suffixDomain;
|
|
26
|
+
return `${base}.${merged}`;
|
|
34
27
|
}
|
|
35
28
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
29
|
+
const base = trimDots(baseTail);
|
|
30
|
+
if (base && domain)
|
|
31
|
+
return `${base}.${domain}`;
|
|
32
|
+
return value;
|
|
39
33
|
}
|
|
40
34
|
return value;
|
|
41
35
|
}
|
|
42
|
-
// 情况 3:base@domain / g-{slug}@domain
|
|
43
36
|
if (value.includes('@')) {
|
|
44
37
|
const atIdx = value.indexOf('@');
|
|
45
|
-
const base = value.slice(0, atIdx)
|
|
46
|
-
const domain = value.slice(atIdx + 1)
|
|
38
|
+
const base = trimDots(value.slice(0, atIdx));
|
|
39
|
+
const domain = trimDots(value.slice(atIdx + 1));
|
|
47
40
|
if (base && domain)
|
|
48
|
-
return
|
|
41
|
+
return `${base}.${domain}`;
|
|
49
42
|
return value;
|
|
50
43
|
}
|
|
51
|
-
|
|
52
|
-
const localIssuer = (opts?.localIssuer ?? '').trim().replace(/^\.+|\.+$/g, '').toLowerCase();
|
|
53
|
-
if (value.startsWith('g-')) {
|
|
54
|
-
const rest = value.slice(2);
|
|
55
|
-
const dotIdx = rest.indexOf('.');
|
|
56
|
-
if (dotIdx > 0) {
|
|
57
|
-
const slug = rest.slice(0, dotIdx);
|
|
58
|
-
const domain = rest.slice(dotIdx + 1).replace(/^\.+|\.+$/g, '');
|
|
59
|
-
if (slug && domain)
|
|
60
|
-
return `group.${domain}/g-${slug}`;
|
|
61
|
-
}
|
|
62
|
-
if (localIssuer)
|
|
63
|
-
return `group.${localIssuer}/g-${rest}`;
|
|
44
|
+
if (value.includes('.'))
|
|
64
45
|
return value;
|
|
65
|
-
|
|
66
|
-
const dotIdx = value.indexOf('.');
|
|
67
|
-
if (dotIdx > 0) {
|
|
68
|
-
const base = value.slice(0, dotIdx);
|
|
69
|
-
const domain = value.slice(dotIdx + 1).replace(/^\.+|\.+$/g, '');
|
|
70
|
-
if (base && domain)
|
|
71
|
-
return `group.${domain}/${base}`;
|
|
72
|
-
}
|
|
46
|
+
const localIssuer = trimDots((opts?.localIssuer ?? '').trim().toLowerCase());
|
|
73
47
|
if (localIssuer)
|
|
74
|
-
return
|
|
48
|
+
return `${value}.${localIssuer}`;
|
|
75
49
|
return value;
|
|
76
50
|
}
|
|
51
|
+
export function normalizeGroupAid(raw, opts) {
|
|
52
|
+
return convertToGroupAid(raw, opts);
|
|
53
|
+
}
|
|
54
|
+
export function normalizeGroupId(raw, opts) {
|
|
55
|
+
return convertToGroupAid(raw, opts);
|
|
56
|
+
}
|
|
77
57
|
export function splitGroupId(raw) {
|
|
78
|
-
const
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
58
|
+
const groupAid = convertToGroupAid(raw);
|
|
59
|
+
const dotIdx = groupAid.indexOf('.');
|
|
60
|
+
if (dotIdx > 0) {
|
|
61
|
+
return {
|
|
62
|
+
base: trimDots(groupAid.slice(0, dotIdx)),
|
|
63
|
+
domain: trimDots(groupAid.slice(dotIdx + 1)),
|
|
64
|
+
};
|
|
85
65
|
}
|
|
86
|
-
return { base:
|
|
66
|
+
return { base: trimDots(groupAid), domain: '' };
|
|
87
67
|
}
|
|
88
68
|
export function buildDiscoveryHost(raw) {
|
|
89
|
-
const {
|
|
90
|
-
|
|
91
|
-
return '';
|
|
92
|
-
return `${base}.${domain}`;
|
|
69
|
+
const { domain } = splitGroupId(raw);
|
|
70
|
+
return domain;
|
|
93
71
|
}
|
|
94
72
|
//# sourceMappingURL=group-id.js.map
|
package/dist/group-id.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"group-id.js","sourceRoot":"","sources":["../src/group-id.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"group-id.js","sourceRoot":"","sources":["../src/group-id.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export interface GroupResourcesRpcClient {
|
|
2
|
+
call(method: string, params?: Record<string, unknown>): Promise<unknown>;
|
|
3
|
+
}
|
|
4
|
+
export type GroupResourceParams = Record<string, unknown>;
|
|
5
|
+
export declare class GroupResources {
|
|
6
|
+
private readonly client;
|
|
7
|
+
constructor(client: GroupResourcesRpcClient);
|
|
8
|
+
private call;
|
|
9
|
+
put(params?: GroupResourceParams): Promise<unknown>;
|
|
10
|
+
createFolder(params?: GroupResourceParams): Promise<unknown>;
|
|
11
|
+
listChildren(params?: GroupResourceParams): Promise<unknown>;
|
|
12
|
+
rename(params?: GroupResourceParams): Promise<unknown>;
|
|
13
|
+
move(params?: GroupResourceParams): Promise<unknown>;
|
|
14
|
+
mountObject(params?: GroupResourceParams): Promise<unknown>;
|
|
15
|
+
unmount(params?: GroupResourceParams): Promise<unknown>;
|
|
16
|
+
resolvePath(params?: GroupResourceParams): Promise<unknown>;
|
|
17
|
+
listRefsByStorage(params?: GroupResourceParams): Promise<unknown>;
|
|
18
|
+
cleanupByStorageRef(params?: GroupResourceParams): Promise<unknown>;
|
|
19
|
+
requestMountObject(params?: GroupResourceParams): Promise<unknown>;
|
|
20
|
+
get(params?: GroupResourceParams): Promise<unknown>;
|
|
21
|
+
list(params?: GroupResourceParams): Promise<unknown>;
|
|
22
|
+
update(params?: GroupResourceParams): Promise<unknown>;
|
|
23
|
+
getAccess(params?: GroupResourceParams): Promise<unknown>;
|
|
24
|
+
resolveAccessTicket(params?: GroupResourceParams): Promise<unknown>;
|
|
25
|
+
delete(params?: GroupResourceParams): Promise<unknown>;
|
|
26
|
+
requestAdd(params?: GroupResourceParams): Promise<unknown>;
|
|
27
|
+
directAdd(params?: GroupResourceParams): Promise<unknown>;
|
|
28
|
+
listPending(params?: GroupResourceParams): Promise<unknown>;
|
|
29
|
+
approveRequest(params?: GroupResourceParams): Promise<unknown>;
|
|
30
|
+
rejectRequest(params?: GroupResourceParams): Promise<unknown>;
|
|
31
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
function stripNil(params = {}) {
|
|
2
|
+
const out = {};
|
|
3
|
+
for (const [key, value] of Object.entries(params)) {
|
|
4
|
+
if (value !== undefined && value !== null)
|
|
5
|
+
out[key] = value;
|
|
6
|
+
}
|
|
7
|
+
return out;
|
|
8
|
+
}
|
|
9
|
+
export class GroupResources {
|
|
10
|
+
client;
|
|
11
|
+
constructor(client) {
|
|
12
|
+
this.client = client;
|
|
13
|
+
}
|
|
14
|
+
call(name, params) {
|
|
15
|
+
return this.client.call(`group.resources.${name}`, stripNil(params));
|
|
16
|
+
}
|
|
17
|
+
put(params) {
|
|
18
|
+
return this.call('put', params);
|
|
19
|
+
}
|
|
20
|
+
createFolder(params) {
|
|
21
|
+
return this.call('create_folder', params);
|
|
22
|
+
}
|
|
23
|
+
listChildren(params) {
|
|
24
|
+
return this.call('list_children', params);
|
|
25
|
+
}
|
|
26
|
+
rename(params) {
|
|
27
|
+
return this.call('rename', params);
|
|
28
|
+
}
|
|
29
|
+
move(params) {
|
|
30
|
+
return this.call('move', params);
|
|
31
|
+
}
|
|
32
|
+
mountObject(params) {
|
|
33
|
+
return this.call('mount_object', params);
|
|
34
|
+
}
|
|
35
|
+
unmount(params) {
|
|
36
|
+
return this.call('unmount', params);
|
|
37
|
+
}
|
|
38
|
+
resolvePath(params) {
|
|
39
|
+
return this.call('resolve_path', params);
|
|
40
|
+
}
|
|
41
|
+
listRefsByStorage(params) {
|
|
42
|
+
return this.call('list_refs_by_storage', params);
|
|
43
|
+
}
|
|
44
|
+
cleanupByStorageRef(params) {
|
|
45
|
+
return this.call('cleanup_by_storage_ref', params);
|
|
46
|
+
}
|
|
47
|
+
requestMountObject(params) {
|
|
48
|
+
return this.call('request_mount_object', params);
|
|
49
|
+
}
|
|
50
|
+
get(params) {
|
|
51
|
+
return this.call('get', params);
|
|
52
|
+
}
|
|
53
|
+
list(params) {
|
|
54
|
+
return this.call('list', params);
|
|
55
|
+
}
|
|
56
|
+
update(params) {
|
|
57
|
+
return this.call('update', params);
|
|
58
|
+
}
|
|
59
|
+
getAccess(params) {
|
|
60
|
+
return this.call('get_access', params);
|
|
61
|
+
}
|
|
62
|
+
resolveAccessTicket(params) {
|
|
63
|
+
return this.call('resolve_access_ticket', params);
|
|
64
|
+
}
|
|
65
|
+
delete(params) {
|
|
66
|
+
return this.call('delete', params);
|
|
67
|
+
}
|
|
68
|
+
requestAdd(params) {
|
|
69
|
+
return this.call('request_add', params);
|
|
70
|
+
}
|
|
71
|
+
directAdd(params) {
|
|
72
|
+
return this.call('direct_add', params);
|
|
73
|
+
}
|
|
74
|
+
listPending(params) {
|
|
75
|
+
return this.call('list_pending', params);
|
|
76
|
+
}
|
|
77
|
+
approveRequest(params) {
|
|
78
|
+
return this.call('approve_request', params);
|
|
79
|
+
}
|
|
80
|
+
rejectRequest(params) {
|
|
81
|
+
return this.call('reject_request', params);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=group-resources.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group-resources.js","sourceRoot":"","sources":["../src/group-resources.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,12 +6,14 @@
|
|
|
6
6
|
export { VERSION } from './version.js';
|
|
7
7
|
export { AUNClient, type ConnectionOptions, type NotifyOptions } from './client.js';
|
|
8
8
|
export { AID, type VerifyResult } from './aid.js';
|
|
9
|
-
export { AIDStore, type AIDInfo, type ResolveOpts } from './aid-store.js';
|
|
9
|
+
export { AIDStore, type AIDInfo, type ResolveOpts, type ImportGroupIdentityOptions, type ImportGroupIdentityResult } from './aid-store.js';
|
|
10
10
|
export { type Result, type ErrorInfo, resultOk, resultErr } from './result.js';
|
|
11
11
|
export { getDeviceId, type AUNConfig, defaultConfig, configFromMap } from './config.js';
|
|
12
|
-
export { AUNError, ConnectionError, TimeoutError, AuthError, PermissionError, ValidationError, NotFoundError, RateLimitError, StateError, SerializationError, SessionError, GroupError, GroupNotFoundError, GroupStateError, E2EEError, E2EEDecryptFailedError,
|
|
12
|
+
export { AUNError, ConnectionError, TimeoutError, AuthError, PermissionError, ValidationError, NotFoundError, RateLimitError, StateError, SerializationError, SessionError, GroupError, GroupNotFoundError, GroupStateError, E2EEError, E2EEDecryptFailedError, CertificateRevokedError, E2EEDegradedError, ClientSignatureError, mapRemoteError, } from './errors.js';
|
|
13
|
+
export { validateAIDFormat, validateGroupAIDFormat, validateGroupIDFormat } from './validators.js';
|
|
14
|
+
export { convertToGroupAid, normalizeGroupAid, normalizeGroupId, splitGroupId, buildDiscoveryHost, } from './group-id.js';
|
|
13
15
|
export { EventDispatcher, Subscription, type EventHandler } from './events.js';
|
|
14
|
-
export { ConnectionState, type JsonValue, type JsonObject, type RpcParams, type RpcResult, type RpcErrorObject, type RpcMessage, type GatewayEntry, type GatewayDiscoveryDocument, type KeyPairRecord, type MetadataRecord, type IdentityRecord, type SecretRecord, type Message, type SendResult, type AckResult, type PullResult, isJsonObject, } from './types.js';
|
|
16
|
+
export { ConnectionState, type JsonValue, type JsonObject, type RpcParams, type RpcResult, type RpcErrorObject, type RpcMessage, type GatewayEntry, type GatewayDiscoveryDocument, type KeyPairRecord, type MetadataRecord, type IdentityRecord, type SecretRecord, type Message, type GroupMessage, type GroupInfo, type GroupMemberInfo, type SendResult, type AckResult, type PullResult, isJsonObject, } from './types.js';
|
|
15
17
|
export { CryptoProvider, type IdentityKeyPair } from './crypto.js';
|
|
16
18
|
export type { KeyStore, TokenStore } from './keystore/index.js';
|
|
17
19
|
export { LocalIdentityStore } from './keystore/local-identity-store.js';
|
|
@@ -21,6 +23,10 @@ export { createDefaultSecretStore } from './secret-store/index.js';
|
|
|
21
23
|
export { FileSecretStore, SeedMigrationError, type SeedChangeResult } from './secret-store/file-store.js';
|
|
22
24
|
export { RPCTransport } from './transport.js';
|
|
23
25
|
export { EmbeddedServiceRegistry, EndpointPolicy, ServiceProxyClient, ServiceRecord, type ServiceProxyClientOptions, type ServiceSummary, } from './service-proxy.js';
|
|
26
|
+
export { StorageVFS, StorageLowLevel, StorageError, StorageNotFoundError, StorageAccessDeniedError, StorageConflictError, StorageLoopError, StorageDanglingSymlinkError, type NodeView, type UsageView, type DownloadResult, type RemoveResult, type UnmountResult, } from './storage/index.js';
|
|
27
|
+
export { CollabClient, CollabTagClient, CollabError, CollabConflictError, mapCollabError, type CollabRaw, type CollabRpcClient, type CollabDocumentEntry, type CollabDocumentResult, type CollabHistoryEntry, type CollabDiffResult, type CollabRegistryEntry, type CollabTagEntry, type CollabTag, type CollabTagDiffResult, type CollabTagPruneOptions, type CollabTagRestoreResult, type CollabSnapshotEntry, type CollabSnapshot, type CollabSnapshotDiffResult, type CollabSnapshotPruneOptions, type CollabSnapshotRestoreResult, } from './collab/index.js';
|
|
28
|
+
export { MessageFacade, MessageThoughtFacade, GroupFacade, GroupThoughtFacade, StreamFacade, type FacadeParams, type FacadeRpcClient, } from './facades.js';
|
|
29
|
+
export { GroupFSVFS, isGroupRemotePath, type GroupFSCopyDestination, type GroupFSCopyOptions, type GroupFSCopySource, type GroupFSDownloadResult, type GroupFSRpcClient, } from './group-fs.js';
|
|
24
30
|
export { GatewayDiscovery } from './discovery.js';
|
|
25
31
|
export { AuthFlow } from './auth.js';
|
|
26
32
|
export { RegisterFlow, type RegisterResult } from './register-flow.js';
|
package/dist/index.js
CHANGED
|
@@ -12,7 +12,10 @@ export { resultOk, resultErr } from './result.js';
|
|
|
12
12
|
// ── 配置 ─────────────────────────────────────────────────────
|
|
13
13
|
export { getDeviceId, defaultConfig, configFromMap } from './config.js';
|
|
14
14
|
// ── 错误类型 ─────────────────────────────────────────────────
|
|
15
|
-
export { AUNError, ConnectionError, TimeoutError, AuthError, PermissionError, ValidationError, NotFoundError, RateLimitError, StateError, SerializationError, SessionError, GroupError, GroupNotFoundError, GroupStateError, E2EEError, E2EEDecryptFailedError,
|
|
15
|
+
export { AUNError, ConnectionError, TimeoutError, AuthError, PermissionError, ValidationError, NotFoundError, RateLimitError, StateError, SerializationError, SessionError, GroupError, GroupNotFoundError, GroupStateError, E2EEError, E2EEDecryptFailedError, CertificateRevokedError, E2EEDegradedError, ClientSignatureError, mapRemoteError, } from './errors.js';
|
|
16
|
+
// ── 校验工具 ─────────────────────────────────────────────────
|
|
17
|
+
export { validateAIDFormat, validateGroupAIDFormat, validateGroupIDFormat } from './validators.js';
|
|
18
|
+
export { convertToGroupAid, normalizeGroupAid, normalizeGroupId, splitGroupId, buildDiscoveryHost, } from './group-id.js';
|
|
16
19
|
// ── 事件 ─────────────────────────────────────────────────────
|
|
17
20
|
export { EventDispatcher, Subscription } from './events.js';
|
|
18
21
|
// ── 类型 ─────────────────────────────────────────────────────
|
|
@@ -27,6 +30,13 @@ export { FileSecretStore, SeedMigrationError } from './secret-store/file-store.j
|
|
|
27
30
|
export { RPCTransport } from './transport.js';
|
|
28
31
|
// ── Service Proxy ───────────────────────────────────────────
|
|
29
32
|
export { EmbeddedServiceRegistry, EndpointPolicy, ServiceProxyClient, ServiceRecord, } from './service-proxy.js';
|
|
33
|
+
// ── Storage VFS ─────────────────────────────────────────────
|
|
34
|
+
export { StorageVFS, StorageLowLevel, StorageError, StorageNotFoundError, StorageAccessDeniedError, StorageConflictError, StorageLoopError, StorageDanglingSymlinkError, } from './storage/index.js';
|
|
35
|
+
// ── Collab 协作层 ───────────────────────────────────────────
|
|
36
|
+
export { CollabClient, CollabTagClient, CollabError, CollabConflictError, mapCollabError, } from './collab/index.js';
|
|
37
|
+
// ── Service plane facades ───────────────────────────────────
|
|
38
|
+
export { MessageFacade, MessageThoughtFacade, GroupFacade, GroupThoughtFacade, StreamFacade, } from './facades.js';
|
|
39
|
+
export { GroupFSVFS, isGroupRemotePath, } from './group-fs.js';
|
|
30
40
|
// ── Gateway 发现 ─────────────────────────────────────────────
|
|
31
41
|
export { GatewayDiscovery } from './discovery.js';
|
|
32
42
|
// ── 认证流程 ─────────────────────────────────────────────────
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,4DAA4D;AAC5D,OAAO,EAAE,SAAS,EAA8C,MAAM,aAAa,CAAC;AACpF,OAAO,EAAE,GAAG,EAAqB,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,6 +45,7 @@ export declare class AIDDatabase {
|
|
|
45
45
|
saveGroupState(groupId: string, stateVersion: number, stateHash: string, keyEpoch: number, membershipJson: string, policyJson: string): void;
|
|
46
46
|
loadGroupState(groupId: string): {
|
|
47
47
|
group_id: string;
|
|
48
|
+
group_aid?: string;
|
|
48
49
|
state_version: number;
|
|
49
50
|
state_hash: string;
|
|
50
51
|
key_epoch: number;
|
package/dist/keystore/aid-db.js
CHANGED
|
@@ -8,9 +8,39 @@ import { mkdirSync } from 'node:fs';
|
|
|
8
8
|
import { createRequire } from 'node:module';
|
|
9
9
|
import { dirname, resolve } from 'node:path';
|
|
10
10
|
import { slotIsolationKey } from '../config.js';
|
|
11
|
+
import { convertToGroupAid } from '../group-id.js';
|
|
11
12
|
const SCHEMA_VERSION = 3;
|
|
12
13
|
const { DatabaseSync } = createRequire(import.meta.url)('node:sqlite');
|
|
13
14
|
const _dbPool = new Map();
|
|
15
|
+
function issuerFromScope(scope) {
|
|
16
|
+
const value = String(scope ?? '').replace(/_/g, '.').trim().toLowerCase();
|
|
17
|
+
const dotIdx = value.indexOf('.');
|
|
18
|
+
return dotIdx > 0 ? value.slice(dotIdx + 1).replace(/^\.+|\.+$/g, '') : '';
|
|
19
|
+
}
|
|
20
|
+
function groupLookupCandidates(groupId, localIssuer = '') {
|
|
21
|
+
const raw = String(groupId ?? '').trim();
|
|
22
|
+
if (!raw)
|
|
23
|
+
return [];
|
|
24
|
+
const normalized = convertToGroupAid(raw, { localIssuer });
|
|
25
|
+
const candidates = [];
|
|
26
|
+
const add = (value) => {
|
|
27
|
+
const trimmed = String(value ?? '').trim();
|
|
28
|
+
if (trimmed && !candidates.includes(trimmed))
|
|
29
|
+
candidates.push(trimmed);
|
|
30
|
+
};
|
|
31
|
+
add(raw);
|
|
32
|
+
add(normalized);
|
|
33
|
+
const dotIdx = normalized.indexOf('.');
|
|
34
|
+
if (dotIdx > 0 && dotIdx < normalized.length - 1) {
|
|
35
|
+
const base = normalized.slice(0, dotIdx);
|
|
36
|
+
const issuer = normalized.slice(dotIdx + 1);
|
|
37
|
+
add(`group.${issuer}/${base}`);
|
|
38
|
+
add(`${base}@${issuer}`);
|
|
39
|
+
if (localIssuer && issuer === localIssuer.replace(/^\.+|\.+$/g, '').toLowerCase())
|
|
40
|
+
add(base);
|
|
41
|
+
}
|
|
42
|
+
return candidates;
|
|
43
|
+
}
|
|
14
44
|
function configureDatabase(db, busyTimeoutMs) {
|
|
15
45
|
db.exec(`PRAGMA busy_timeout = ${busyTimeoutMs}`);
|
|
16
46
|
const row = db.prepare('PRAGMA journal_mode = WAL').get();
|
|
@@ -24,46 +54,13 @@ const DDL_STATEMENTS = [
|
|
|
24
54
|
id INTEGER PRIMARY KEY CHECK (id = 1),
|
|
25
55
|
version INTEGER NOT NULL
|
|
26
56
|
)`,
|
|
27
|
-
`CREATE TABLE IF NOT EXISTS tokens (
|
|
28
|
-
key TEXT PRIMARY KEY,
|
|
29
|
-
value TEXT NOT NULL,
|
|
30
|
-
updated_at INTEGER NOT NULL
|
|
31
|
-
)`,
|
|
32
|
-
`CREATE TABLE IF NOT EXISTS prekeys (
|
|
33
|
-
prekey_id TEXT NOT NULL,
|
|
34
|
-
device_id TEXT NOT NULL DEFAULT '',
|
|
35
|
-
private_key_enc TEXT NOT NULL DEFAULT '',
|
|
36
|
-
data TEXT NOT NULL DEFAULT '{}',
|
|
37
|
-
created_at INTEGER,
|
|
38
|
-
updated_at INTEGER NOT NULL,
|
|
39
|
-
expires_at INTEGER,
|
|
40
|
-
PRIMARY KEY (prekey_id, device_id)
|
|
41
|
-
)`,
|
|
42
|
-
`CREATE INDEX IF NOT EXISTS idx_prekeys_device ON prekeys (device_id, created_at)`,
|
|
43
|
-
`CREATE TABLE IF NOT EXISTS group_current (
|
|
44
|
-
group_id TEXT PRIMARY KEY,
|
|
45
|
-
epoch INTEGER NOT NULL,
|
|
46
|
-
secret_enc TEXT NOT NULL DEFAULT '',
|
|
47
|
-
data TEXT NOT NULL DEFAULT '{}',
|
|
48
|
-
updated_at INTEGER NOT NULL
|
|
49
|
-
)`,
|
|
50
|
-
`CREATE TABLE IF NOT EXISTS group_old_epochs (
|
|
51
|
-
group_id TEXT NOT NULL,
|
|
52
|
-
epoch INTEGER NOT NULL,
|
|
53
|
-
secret_enc TEXT NOT NULL DEFAULT '',
|
|
54
|
-
data TEXT NOT NULL DEFAULT '{}',
|
|
55
|
-
updated_at INTEGER NOT NULL,
|
|
56
|
-
expires_at INTEGER,
|
|
57
|
-
PRIMARY KEY (group_id, epoch)
|
|
58
|
-
)`,
|
|
59
|
-
`CREATE INDEX IF NOT EXISTS idx_group_old_expires ON group_old_epochs (group_id, expires_at)`,
|
|
60
|
-
`CREATE TABLE IF NOT EXISTS e2ee_sessions (
|
|
61
|
-
session_id TEXT PRIMARY KEY,
|
|
62
|
-
data_enc TEXT NOT NULL DEFAULT '{}',
|
|
63
|
-
updated_at INTEGER NOT NULL
|
|
57
|
+
`CREATE TABLE IF NOT EXISTS tokens (
|
|
58
|
+
key TEXT PRIMARY KEY,
|
|
59
|
+
value TEXT NOT NULL,
|
|
60
|
+
updated_at INTEGER NOT NULL
|
|
64
61
|
)`,
|
|
65
|
-
`CREATE TABLE IF NOT EXISTS instance_state (
|
|
66
|
-
device_id TEXT NOT NULL,
|
|
62
|
+
`CREATE TABLE IF NOT EXISTS instance_state (
|
|
63
|
+
device_id TEXT NOT NULL,
|
|
67
64
|
slot_id TEXT NOT NULL DEFAULT '_singleton',
|
|
68
65
|
slot_id_full TEXT NOT NULL DEFAULT '',
|
|
69
66
|
data TEXT NOT NULL DEFAULT '{}',
|
|
@@ -248,10 +245,13 @@ export class AIDDatabase {
|
|
|
248
245
|
ON CONFLICT(group_id) DO UPDATE SET state_version=excluded.state_version, state_hash=excluded.state_hash, key_epoch=excluded.key_epoch, membership_json=excluded.membership_json, policy_json=excluded.policy_json, updated_at=excluded.updated_at`).run(groupId, stateVersion, stateHash, keyEpoch, membershipJson, policyJson, Date.now());
|
|
249
246
|
}
|
|
250
247
|
loadGroupState(groupId) {
|
|
251
|
-
const
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
248
|
+
const localIssuer = issuerFromScope(this._scope);
|
|
249
|
+
for (const candidate of groupLookupCandidates(groupId, localIssuer)) {
|
|
250
|
+
const row = this._db.prepare('SELECT group_id, state_version, state_hash, key_epoch, membership_json, policy_json, updated_at FROM group_state WHERE group_id = ?').get(candidate);
|
|
251
|
+
if (row)
|
|
252
|
+
return { group_aid: convertToGroupAid(row.group_id, { localIssuer }), ...row };
|
|
253
|
+
}
|
|
254
|
+
return null;
|
|
255
255
|
}
|
|
256
256
|
}
|
|
257
257
|
//# sourceMappingURL=aid-db.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aid-db.js","sourceRoot":"","sources":["../../src/keystore/aid-db.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"aid-db.js","sourceRoot":"","sources":["../../src/keystore/aid-db.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ import type { ModuleLogger } from '../logger.js';
|
|
|
8
8
|
import { type SeedChangeResult } from '../secret-store/file-store.js';
|
|
9
9
|
import { type IdentityRecord, type KeyPairRecord, type MetadataRecord } from '../types.js';
|
|
10
10
|
export declare class LocalIdentityStore implements KeyStore {
|
|
11
|
+
private static _aidLocks;
|
|
11
12
|
private _root;
|
|
12
13
|
private _aidsRoot;
|
|
13
14
|
private _secretStore;
|
|
@@ -25,7 +26,12 @@ export declare class LocalIdentityStore implements KeyStore {
|
|
|
25
26
|
changeSeed(oldSeed: string, newSeed: string): SeedChangeResult;
|
|
26
27
|
private _prepareRoot;
|
|
27
28
|
private _getDB;
|
|
29
|
+
private _withAidLock;
|
|
30
|
+
private _acquireAidLock;
|
|
31
|
+
private _releaseAidLock;
|
|
32
|
+
private static _sleepSync;
|
|
28
33
|
loadKeyPair(aid: string): KeyPairRecord | null;
|
|
34
|
+
private _loadKeyPairUnlocked;
|
|
29
35
|
saveKeyPair(aid: string, keyPair: KeyPairRecord): void;
|
|
30
36
|
private _saveKeyPairAtPath;
|
|
31
37
|
private _restoreKeyPair;
|
|
@@ -33,8 +39,10 @@ export declare class LocalIdentityStore implements KeyStore {
|
|
|
33
39
|
saveCert(aid: string, certPem: string, certFingerprint?: string, opts?: {
|
|
34
40
|
makeActive?: boolean;
|
|
35
41
|
}): void;
|
|
42
|
+
private _saveCertUnlocked;
|
|
36
43
|
private _normalizeCertFingerprint;
|
|
37
44
|
loadIdentity(aid: string): IdentityRecord | null;
|
|
45
|
+
private _loadIdentityUnlocked;
|
|
38
46
|
saveIdentity(aid: string, identity: IdentityRecord): void;
|
|
39
47
|
loadAnyIdentity(): IdentityRecord | null;
|
|
40
48
|
listIdentities(): string[];
|
|
@@ -64,6 +72,14 @@ export declare class LocalIdentityStore implements KeyStore {
|
|
|
64
72
|
cleanupPendingDirs(maxAgeMs?: number): number;
|
|
65
73
|
private _ensurePendingKeyPairProtected;
|
|
66
74
|
private _pendingRoot;
|
|
75
|
+
private _pendingBindsRoot;
|
|
76
|
+
private _pendingBindPath;
|
|
77
|
+
savePendingGroupBind(groupId: string, keyPair: KeyPairRecord): void;
|
|
78
|
+
private _savePendingGroupBindUnlocked;
|
|
79
|
+
loadPendingGroupBind(groupId: string): KeyPairRecord | null;
|
|
80
|
+
private _loadPendingGroupBindUnlocked;
|
|
81
|
+
clearPendingGroupBind(groupId: string): void;
|
|
82
|
+
private _clearPendingGroupBindUnlocked;
|
|
67
83
|
private _keyPairPath;
|
|
68
84
|
private _certPath;
|
|
69
85
|
private _certVersionPath;
|