@agentunion/fastaun 0.5.20 → 0.5.21

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 (107) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/_packed_docs/CHANGELOG.md +47 -0
  3. package/_packed_docs/INDEX.md +453 -440
  4. package/_packed_docs/KITE_DOCS_GUIDE.md +164 -161
  5. package/_packed_docs/agent.md/working/AID/347/261/273/345/236/213-owner/345/205/263/347/263/273/344/270/216/346/215/242owner/347/274/226/346/216/222/346/226/271/346/241/210.md +530 -0
  6. package/_packed_docs/agent.md/working/AID/347/261/273/345/236/213-owner/345/205/263/347/263/273/345/256/214/346/225/264/350/256/276/350/256/241/344/270/216/345/256/236/346/226/275/350/256/241/345/210/222.md +685 -0
  7. package/_packed_docs/agent.md/working/agent.md-schema/344/270/216/347/255/276/345/217/221/351/252/214/347/255/276/346/265/201/347/250/213/346/276/204/346/270/205.md +349 -0
  8. package/_packed_docs/agent.md/working//346/234/254/345/234/260Docker/346/265/213/350/257/225Bug/346/270/205/345/215/225.md +40 -0
  9. package/_packed_docs/protocol/06-/346/234/215/345/212/241/345/215/217/350/256/256.md +1433 -1392
  10. package/_packed_docs/protocol/08-AUN-E2EE.md +17 -12
  11. package/_packed_docs/protocol/Ownership/345/215/217/350/256/256/345/256/232/344/271/211.md +2 -0
  12. package/_packed_docs/protocol/Ownership/345/215/217/350/256/256/345/256/232/344/271/2112.1.md +666 -658
  13. package/_packed_docs/sdk/0.5.21-SDK/345/272/224/347/224/250/351/233/206/346/210/220/346/214/207/345/215/227.md +368 -0
  14. package/_packed_docs/sdk/0.5.21-SDK/345/274/200/345/217/221/344/270/216/347/247/273/346/244/215/346/214/207/345/215/227.md +350 -0
  15. package/_packed_docs/sdk/01-/345/277/253/351/200/237/345/274/200/345/247/213.md +1 -1
  16. package/_packed_docs/sdk/02-WebSocket/345/215/217/350/256/256.md +5 -1
  17. package/_packed_docs/sdk/03-/346/240/270/345/277/203/346/246/202/345/277/265.md +64 -64
  18. package/_packed_docs/sdk/04-/350/277/236/346/216/245/344/270/216/350/256/244/350/257/201.md +4 -1
  19. package/_packed_docs/sdk/05-E2EE/345/212/240/345/257/206/351/200/232/344/277/241.md +42 -39
  20. package/_packed_docs/sdk/06-API/346/211/213/345/206/214.md +147 -14
  21. package/_packed_docs/sdk/08-/346/234/200/344/275/263/345/256/236/350/267/265.md +48 -47
  22. package/_packed_docs/sdk/09-group-rpc-manual.md +5 -2
  23. package/_packed_docs/sdk/09-message-rpc-manual.md +250 -160
  24. package/_packed_docs/sdk/09-/345/207/255/350/257/201/346/234/215/345/212/241RPC/346/211/213/345/206/214.md +71 -0
  25. package/_packed_docs/sdk/09-/347/273/204/347/273/207/346/234/215/345/212/241RPC/346/211/213/345/206/214.md +88 -0
  26. package/_packed_docs/sdk/AUN_DOCS_GUIDE.md +134 -130
  27. package/_packed_docs/sdk/INDEX.md +239 -221
  28. package/_packed_docs/sdk/Ownership-SDK/347/274/226/346/216/222/346/214/207/345/215/2272.1.md +930 -922
  29. package/_packed_docs/sdk/Ownership2.1-SDK/345/272/224/347/224/250/351/233/206/346/210/220/346/214/207/345/215/227.md +106 -43
  30. package/_packed_docs/sdk/Ownership2.1-SDK/345/274/200/345/217/221/344/270/216/347/247/273/346/244/215/346/214/207/345/215/227.md +180 -9
  31. package/_packed_docs/sdk/Ownership2.1-TDD/345/210/206/351/230/266/346/256/265/345/256/236/346/226/275/350/256/241/345/210/222.md +708 -708
  32. package/_packed_docs/sdk/Ownership2.1/350/257/246/347/273/206/350/256/276/350/256/241.md +480 -476
  33. package/_packed_docs/sdk//345/207/255/350/257/201/344/270/216/347/273/204/347/273/207/346/234/215/345/212/241SDK/345/272/224/347/224/250/351/233/206/346/210/220/346/214/207/345/215/227.md +1 -1
  34. package/_packed_docs/sdk//345/207/255/350/257/201/344/270/216/347/273/204/347/273/207/346/234/215/345/212/241SDK/345/274/200/345/217/221/344/270/216/347/247/273/346/244/215/346/214/207/345/215/227.md +2 -2
  35. package/dist/agent-md-schema.js +6 -4
  36. package/dist/agent-md-schema.js.map +1 -1
  37. package/dist/agent-md.d.ts +22 -2
  38. package/dist/agent-md.js +84 -67
  39. package/dist/agent-md.js.map +1 -1
  40. package/dist/aid-store.d.ts +13 -0
  41. package/dist/aid-store.js +50 -15
  42. package/dist/aid-store.js.map +1 -1
  43. package/dist/auth.js +4 -0
  44. package/dist/auth.js.map +1 -1
  45. package/dist/cert-utils.d.ts +1 -0
  46. package/dist/cert-utils.js +13 -0
  47. package/dist/cert-utils.js.map +1 -1
  48. package/dist/client/delivery.d.ts +59 -1
  49. package/dist/client/delivery.js +1018 -125
  50. package/dist/client/delivery.js.map +1 -1
  51. package/dist/client/rpc-pipeline.d.ts +4 -1
  52. package/dist/client/rpc-pipeline.js +123 -37
  53. package/dist/client/rpc-pipeline.js.map +1 -1
  54. package/dist/client/v2-e2ee.d.ts +12 -2
  55. package/dist/client/v2-e2ee.js +751 -294
  56. package/dist/client/v2-e2ee.js.map +1 -1
  57. package/dist/client.d.ts +26 -2
  58. package/dist/client.js +379 -63
  59. package/dist/client.js.map +1 -1
  60. package/dist/config.d.ts +4 -0
  61. package/dist/config.js +1 -0
  62. package/dist/config.js.map +1 -1
  63. package/dist/events.d.ts +18 -1
  64. package/dist/events.js +148 -9
  65. package/dist/events.js.map +1 -1
  66. package/dist/facades.d.ts +43 -1
  67. package/dist/facades.js +363 -7
  68. package/dist/facades.js.map +1 -1
  69. package/dist/index.d.ts +5 -3
  70. package/dist/index.js +1 -1
  71. package/dist/index.js.map +1 -1
  72. package/dist/keystore/aid-db.d.ts +6 -1
  73. package/dist/keystore/aid-db.js +184 -42
  74. package/dist/keystore/aid-db.js.map +1 -1
  75. package/dist/keystore/index.d.ts +14 -0
  76. package/dist/keystore/local-token-store.d.ts +9 -1
  77. package/dist/keystore/local-token-store.js +79 -14
  78. package/dist/keystore/local-token-store.js.map +1 -1
  79. package/dist/org-protocol.d.ts +45 -0
  80. package/dist/org-protocol.js +754 -11
  81. package/dist/org-protocol.js.map +1 -1
  82. package/dist/ownership-v21.d.ts +16 -3
  83. package/dist/ownership-v21.js +35 -17
  84. package/dist/ownership-v21.js.map +1 -1
  85. package/dist/ownership-workflow.d.ts +17 -0
  86. package/dist/ownership-workflow.js +511 -26
  87. package/dist/ownership-workflow.js.map +1 -1
  88. package/dist/secret-store/file-store.js +84 -0
  89. package/dist/secret-store/file-store.js.map +1 -1
  90. package/dist/seq-tracker.d.ts +1 -0
  91. package/dist/seq-tracker.js +2 -2
  92. package/dist/seq-tracker.js.map +1 -1
  93. package/dist/tools/cross-sdk-agent.d.ts +66 -3
  94. package/dist/tools/cross-sdk-agent.js +466 -36
  95. package/dist/tools/cross-sdk-agent.js.map +1 -1
  96. package/dist/transport.d.ts +3 -0
  97. package/dist/transport.js +98 -44
  98. package/dist/transport.js.map +1 -1
  99. package/dist/types.d.ts +1 -0
  100. package/dist/v2/e2ee/encrypt-group.js +1 -0
  101. package/dist/v2/e2ee/encrypt-group.js.map +1 -1
  102. package/dist/v2/e2ee/encrypt-p2p.js +1 -0
  103. package/dist/v2/e2ee/encrypt-p2p.js.map +1 -1
  104. package/dist/v2/e2ee/types.d.ts +1 -0
  105. package/dist/version.d.ts +1 -1
  106. package/dist/version.js +1 -1
  107. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -10,6 +10,8 @@ export { type DocumentSignatureResult } from './cert-utils.js';
10
10
  export { OwnershipStatement, type OwnershipProof, type OwnershipSignature, signOwnershipStatement, validateOwnershipProof, verifyOwnershipProof, verifyOwnershipSignature, validateOwnershipFrontmatter, verifyOwnershipFrontmatterStatus, type OwnershipVerificationStatus, OWNERSHIP_MESSAGE_TYPE, isOwnershipPayload, ownershipMessageBody, buildOwnershipMessage, createOwnershipReleaseStatement, signOwnershipRelease, verifyOwnershipRelease, encryptCertificate, decryptCertificate, encryptIdentity, decryptIdentity, } from './ownership-proof.js';
11
11
  export { AIDStore, type AIDInfo, type RegisterOptions, type ResolveOpts, type UploadAgentMdOptions, type SignatureOptions, type ImportGroupIdentityOptions, type ImportGroupIdentityResult } from './aid-store.js';
12
12
  export { type Result, type ErrorInfo, resultOk, resultErr } from './result.js';
13
+ export type { AgentMdFrontmatter, AgentMdDownloadResult } from './agent-md.js';
14
+ export type { ResolveResult, ResolveOwnershipResult, OwnershipConsensusChecker } from './aid-store.js';
13
15
  export { getDeviceId, type AUNConfig, defaultConfig, configFromMap } from './config.js';
14
16
  export { AUNError, ConnectionError, TimeoutError, AuthError, PermissionError, ValidationError, NotFoundError, RateLimitError, StateError, SerializationError, SessionError, GroupError, GroupNotFoundError, GroupStateError, E2EEError, E2EEDecryptFailedError, CertificateRevokedError, E2EEDegradedError, ClientSignatureError, mapRemoteError, } from './errors.js';
15
17
  export { validateAIDFormat, validateGroupAIDFormat, validateGroupIDFormat } from './validators.js';
@@ -31,12 +33,12 @@ export { RPCTransport } from './transport.js';
31
33
  export { EmbeddedServiceRegistry, EndpointPolicy, ServiceProxyClient, ServiceRecord, type ServiceProxyClientOptions, type ServiceSummary, } from './service-proxy.js';
32
34
  export { StorageVFS, StorageLowLevel, StorageError, StorageNotFoundError, StorageAccessDeniedError, StorageConflictError, StorageLoopError, StorageDanglingSymlinkError, type NodeView, type UsageView, type DownloadResult, type RemoveResult, type UnmountResult, } from './storage/index.js';
33
35
  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';
34
- export { MessageFacade, CredentialFacade, OrgFacade, OrgLifecycleFacade, OrgMemberFacade, OrgCredentialFacade, OrgAuditFacade, OrgAuthzFacade, MessageThoughtFacade, MailFacade, GroupFacade, GroupThoughtFacade, StreamFacade, type FacadeParams, type FacadeRpcClient, } from './facades.js';
36
+ export { MessageFacade, DebugFacade, type DiagnosticCheck, type DiagnosticReport, CredentialFacade, OrgFacade, OrgLifecycleFacade, OrgMemberFacade, OrgCredentialFacade, OrgAuditFacade, OrgAuthzFacade, MessageThoughtFacade, MailFacade, GroupFacade, GroupThoughtFacade, StreamFacade, type FacadeParams, type FacadeRpcClient, } from './facades.js';
35
37
  export { GroupFSVFS, isGroupRemotePath, type GroupFSCopyDestination, type GroupFSCopyOptions, type GroupFSCopySource, type GroupFSDownloadResult, type GroupFSRpcClient, } from './group-fs.js';
36
38
  export { GatewayDiscovery } from './discovery.js';
37
39
  export { AuthFlow } from './auth.js';
38
- export type { OwnershipTaskResult } from './ownership-workflow.js';
39
- export type { OwnershipConsensusResult } from './ownership-v21.js';
40
+ export type { OwnershipTaskResult, OwnershipTaskResetResult } from './ownership-workflow.js';
41
+ export type { OwnershipConsensusResult, OwnershipOwnerMd } from './ownership-v21.js';
40
42
  export { RegisterFlow, type RegisterResult } from './register-flow.js';
41
43
  export { ProtectedHeaders } from './protected-headers.js';
42
44
  export type { ProtectedHeadersInput } from './protected-headers.js';
package/dist/index.js CHANGED
@@ -39,7 +39,7 @@ export { StorageVFS, StorageLowLevel, StorageError, StorageNotFoundError, Storag
39
39
  // ── Collab 协作层 ───────────────────────────────────────────
40
40
  export { CollabClient, CollabTagClient, CollabError, CollabConflictError, mapCollabError, } from './collab/index.js';
41
41
  // ── Service plane facades ───────────────────────────────────
42
- export { MessageFacade, CredentialFacade, OrgFacade, OrgLifecycleFacade, OrgMemberFacade, OrgCredentialFacade, OrgAuditFacade, OrgAuthzFacade, MessageThoughtFacade, MailFacade, GroupFacade, GroupThoughtFacade, StreamFacade, } from './facades.js';
42
+ export { MessageFacade, DebugFacade, CredentialFacade, OrgFacade, OrgLifecycleFacade, OrgMemberFacade, OrgCredentialFacade, OrgAuditFacade, OrgAuthzFacade, MessageThoughtFacade, MailFacade, GroupFacade, GroupThoughtFacade, StreamFacade, } from './facades.js';
43
43
  export { GroupFSVFS, isGroupRemotePath, } from './group-fs.js';
44
44
  // ── Gateway 发现 ─────────────────────────────────────────────
45
45
  export { GatewayDiscovery } from './discovery.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * E2EE V2 ONLY:这里不再提供旧版 E2EE 密钥材料存储。
5
5
  * V2 设备密钥由 `v2/session/keystore.ts` 通过同一个 SQLite 句柄维护。
6
6
  */
7
- import type { OwnershipTaskSnapshot } from './index.js';
7
+ import type { OwnershipTaskSnapshot, OwnershipTaskSource, P2PDeliveryReceipt } from './index.js';
8
8
  export declare class AIDDatabase {
9
9
  private _db;
10
10
  private _dbPath;
@@ -50,13 +50,18 @@ export declare class AIDDatabase {
50
50
  tail: number;
51
51
  head: number;
52
52
  }>;
53
+ loadP2PDeliveryReceipts(deviceId: string, slotId: string, eventClass: string, seqs: number[]): P2PDeliveryReceipt[];
54
+ saveP2PDeliveryReceipts(deviceId: string, slotId: string, eventClass: string, receipts: P2PDeliveryReceipt[]): void;
53
55
  deleteSeq(deviceId: string, slotId: string, namespace: string): void;
54
56
  getMetadata(key: string): string | null;
55
57
  private _ownershipTaskRow;
58
+ loadOwnershipTaskSource(operationId: string): OwnershipTaskSource | null;
59
+ resetOwnershipTask(operationId: string, expectedRevision: number, expectedSource: string, task: Record<string, unknown>): OwnershipTaskSnapshot;
56
60
  loadOwnershipTask(operationId: string): OwnershipTaskSnapshot | null;
57
61
  listOwnershipTasks(isolateErrors?: boolean): OwnershipTaskSnapshot[];
58
62
  compareAndSwapOwnershipTask(operationId: string, expectedRevision: number | null, task: Record<string, unknown>): OwnershipTaskSnapshot;
59
63
  setMetadata(key: string, value: string): void;
64
+ setMetadataIfAbsent(key: string, value: string): string;
60
65
  deleteMetadata(key: string): void;
61
66
  getAllMetadata(): Record<string, string>;
62
67
  saveGroupState(groupId: string, stateVersion: number, stateHash: string, keyEpoch: number, membershipJson: string, policyJson: string): void;
@@ -5,11 +5,12 @@
5
5
  * V2 设备密钥由 `v2/session/keystore.ts` 通过同一个 SQLite 句柄维护。
6
6
  */
7
7
  import { mkdirSync } from 'node:fs';
8
+ import { createHash } from 'node:crypto';
8
9
  import { createRequire } from 'node:module';
9
10
  import { dirname, resolve } from 'node:path';
10
11
  import { slotIsolationKey } from '../config.js';
11
12
  import { convertToGroupAid } from '../group-id.js';
12
- const SCHEMA_VERSION = 4;
13
+ const SCHEMA_VERSION = 5;
13
14
  const { DatabaseSync } = createRequire(import.meta.url)('node:sqlite');
14
15
  const _dbPool = new Map();
15
16
  function issuerFromScope(scope) {
@@ -50,52 +51,61 @@ function configureDatabase(db, busyTimeoutMs) {
50
51
  db.exec('PRAGMA synchronous = NORMAL');
51
52
  }
52
53
  const DDL_STATEMENTS = [
53
- `CREATE TABLE IF NOT EXISTS _schema_version (
54
- id INTEGER PRIMARY KEY CHECK (id = 1),
55
- version INTEGER NOT NULL
54
+ `CREATE TABLE IF NOT EXISTS _schema_version (
55
+ id INTEGER PRIMARY KEY CHECK (id = 1),
56
+ version INTEGER NOT NULL
56
57
  )`,
57
- `CREATE TABLE IF NOT EXISTS tokens (
58
- key TEXT PRIMARY KEY,
59
- value TEXT NOT NULL,
60
- updated_at INTEGER NOT NULL
58
+ `CREATE TABLE IF NOT EXISTS tokens (
59
+ key TEXT PRIMARY KEY,
60
+ value TEXT NOT NULL,
61
+ updated_at INTEGER NOT NULL
61
62
  )`,
62
- `CREATE TABLE IF NOT EXISTS instance_state (
63
- device_id TEXT NOT NULL,
64
- slot_id TEXT NOT NULL DEFAULT '_singleton',
65
- slot_id_full TEXT NOT NULL DEFAULT '',
66
- data TEXT NOT NULL DEFAULT '{}',
67
- updated_at INTEGER NOT NULL,
68
- PRIMARY KEY (device_id, slot_id)
63
+ `CREATE TABLE IF NOT EXISTS instance_state (
64
+ device_id TEXT NOT NULL,
65
+ slot_id TEXT NOT NULL DEFAULT '_singleton',
66
+ slot_id_full TEXT NOT NULL DEFAULT '',
67
+ data TEXT NOT NULL DEFAULT '{}',
68
+ updated_at INTEGER NOT NULL,
69
+ PRIMARY KEY (device_id, slot_id)
69
70
  )`,
70
- `CREATE TABLE IF NOT EXISTS seq_tracker (
71
- device_id TEXT NOT NULL,
72
- slot_id TEXT NOT NULL DEFAULT '_singleton',
73
- slot_id_full TEXT NOT NULL DEFAULT '',
71
+ `CREATE TABLE IF NOT EXISTS seq_tracker (
72
+ device_id TEXT NOT NULL,
73
+ slot_id TEXT NOT NULL DEFAULT '_singleton',
74
+ slot_id_full TEXT NOT NULL DEFAULT '',
74
75
  namespace TEXT NOT NULL,
75
76
  contiguous_seq INTEGER NOT NULL DEFAULT 0,
76
77
  tail_seq INTEGER NOT NULL DEFAULT 0,
77
78
  head_seq INTEGER NOT NULL DEFAULT 0,
78
- updated_at INTEGER NOT NULL,
79
- PRIMARY KEY (device_id, slot_id, namespace)
79
+ updated_at INTEGER NOT NULL,
80
+ PRIMARY KEY (device_id, slot_id, namespace)
80
81
  )`,
81
- `CREATE TABLE IF NOT EXISTS metadata_kv (
82
- key TEXT PRIMARY KEY,
83
- value TEXT NOT NULL,
84
- updated_at INTEGER NOT NULL
82
+ `CREATE TABLE IF NOT EXISTS p2p_delivery_receipts (
83
+ device_id TEXT NOT NULL,
84
+ slot_id TEXT NOT NULL,
85
+ event_class TEXT NOT NULL,
86
+ seq INTEGER NOT NULL,
87
+ sender_aid TEXT NOT NULL,
88
+ message_id TEXT NOT NULL DEFAULT '',
89
+ PRIMARY KEY (device_id, slot_id, event_class, seq)
85
90
  )`,
86
- `CREATE TABLE IF NOT EXISTS ownership_tasks (
87
- operation_id TEXT PRIMARY KEY,
88
- revision INTEGER NOT NULL,
89
- data TEXT NOT NULL
91
+ `CREATE TABLE IF NOT EXISTS metadata_kv (
92
+ key TEXT PRIMARY KEY,
93
+ value TEXT NOT NULL,
94
+ updated_at INTEGER NOT NULL
90
95
  )`,
91
- `CREATE TABLE IF NOT EXISTS group_state (
92
- group_id TEXT PRIMARY KEY,
93
- state_version INTEGER NOT NULL DEFAULT 0,
94
- state_hash TEXT NOT NULL DEFAULT '',
95
- key_epoch INTEGER NOT NULL DEFAULT 0,
96
- membership_json TEXT NOT NULL DEFAULT '',
97
- policy_json TEXT NOT NULL DEFAULT '',
98
- updated_at INTEGER NOT NULL DEFAULT 0
96
+ `CREATE TABLE IF NOT EXISTS ownership_tasks (
97
+ operation_id TEXT PRIMARY KEY,
98
+ revision INTEGER NOT NULL,
99
+ data TEXT NOT NULL
100
+ )`,
101
+ `CREATE TABLE IF NOT EXISTS group_state (
102
+ group_id TEXT PRIMARY KEY,
103
+ state_version INTEGER NOT NULL DEFAULT 0,
104
+ state_hash TEXT NOT NULL DEFAULT '',
105
+ key_epoch INTEGER NOT NULL DEFAULT 0,
106
+ membership_json TEXT NOT NULL DEFAULT '',
107
+ policy_json TEXT NOT NULL DEFAULT '',
108
+ updated_at INTEGER NOT NULL DEFAULT 0
99
109
  )`,
100
110
  ];
101
111
  function jsonParseObject(value) {
@@ -287,6 +297,38 @@ export class AIDDatabase {
287
297
  }
288
298
  return result;
289
299
  }
300
+ loadP2PDeliveryReceipts(deviceId, slotId, eventClass, seqs) {
301
+ if (seqs.length === 0)
302
+ return [];
303
+ const rows = this._db.prepare(`SELECT seq, sender_aid, message_id FROM p2p_delivery_receipts WHERE device_id = ? AND slot_id = ? AND event_class = ? AND seq IN (${seqs.map(() => '?').join(',')}) ORDER BY seq`).all(deviceId, slotIsolationKey(slotId) || '_singleton', eventClass, ...seqs);
304
+ return rows.map(({ seq, sender_aid, message_id }) => ({ seq, sender_aid, ...(message_id ? { message_id } : {}) }));
305
+ }
306
+ saveP2PDeliveryReceipts(deviceId, slotId, eventClass, receipts) {
307
+ if (receipts.length === 0)
308
+ return;
309
+ const slotKey = slotIsolationKey(slotId) || '_singleton';
310
+ try {
311
+ this._db.exec('BEGIN IMMEDIATE');
312
+ const select = this._db.prepare('SELECT sender_aid, message_id FROM p2p_delivery_receipts WHERE device_id = ? AND slot_id = ? AND event_class = ? AND seq = ?');
313
+ const upsert = this._db.prepare("INSERT INTO p2p_delivery_receipts (device_id, slot_id, event_class, seq, sender_aid, message_id) VALUES (?, ?, ?, ?, ?, ?) ON CONFLICT(device_id, slot_id, event_class, seq) DO UPDATE SET message_id=CASE WHEN excluded.message_id <> '' THEN excluded.message_id ELSE p2p_delivery_receipts.message_id END");
314
+ for (const receipt of receipts) {
315
+ const current = select.get(deviceId, slotKey, eventClass, receipt.seq);
316
+ const messageId = receipt.message_id ?? '';
317
+ if (current && (current.sender_aid !== receipt.sender_aid || (current.message_id && messageId && current.message_id !== messageId))) {
318
+ throw new Error('P2P receipt binding mismatch');
319
+ }
320
+ upsert.run(deviceId, slotKey, eventClass, receipt.seq, receipt.sender_aid, messageId);
321
+ }
322
+ this._db.exec('COMMIT');
323
+ }
324
+ catch (error) {
325
+ try {
326
+ this._db.exec('ROLLBACK');
327
+ }
328
+ catch { /* 保留原始事务异常 */ }
329
+ throw error;
330
+ }
331
+ }
290
332
  deleteSeq(deviceId, slotId, namespace) {
291
333
  const slotKey = slotIsolationKey(slotId) || '_singleton';
292
334
  this._db.prepare('DELETE FROM seq_tracker WHERE device_id = ? AND slot_id = ? AND namespace = ?').run(deviceId, slotKey, namespace);
@@ -299,8 +341,66 @@ export class AIDDatabase {
299
341
  const task = JSON.parse(row.data);
300
342
  if (!task || typeof task !== 'object' || Array.isArray(task) || task.operation_id !== row.operation_id || !Number.isSafeInteger(row.revision) || row.revision < 1)
301
343
  throw new Error('ownership task storage is corrupt');
344
+ if (Object.hasOwn(task, 'task_reset')) {
345
+ const value = task, reset = value.task_reset;
346
+ if (value.protocol !== '2.1' || value.local_aid !== this._scope || value.status !== 'stopped' || value.step !== 'reset' || Object.keys(value).some((key) => !['protocol', 'operation_id', 'local_aid', 'status', 'step', 'sub_aid', 'task_reset'].includes(key)) || !reset || typeof reset !== 'object' || Array.isArray(reset) || Object.keys(reset).length !== 4 || typeof reset.source !== 'string' || reset.source_sha256 !== createHash('sha256').update(reset.source).digest('hex') || !Number.isSafeInteger(reset.revision) || Number(reset.revision) < 1 || Number(reset.revision) + 1 !== row.revision || !Number.isSafeInteger(reset.reset_at) || Number(reset.reset_at) <= 0)
347
+ throw new Error('ownership reset marker is corrupt');
348
+ let subject;
349
+ try {
350
+ const parsed = JSON.parse(reset.source);
351
+ if (typeof parsed?.sub_aid === 'string' && /^[a-z0-9_][a-z0-9_-]*(?:\.[a-z0-9_][a-z0-9_-]*)+$/.test(parsed.sub_aid))
352
+ subject = parsed.sub_aid;
353
+ }
354
+ catch { }
355
+ if (value.sub_aid !== subject)
356
+ throw new Error('ownership reset subject is corrupt');
357
+ }
302
358
  return { operation_id: row.operation_id, revision: row.revision, task: task };
303
359
  }
360
+ loadOwnershipTaskSource(operationId) {
361
+ const row = this._db.prepare('SELECT operation_id, revision, data FROM ownership_tasks WHERE operation_id = ?').get(operationId);
362
+ if (!row)
363
+ return null;
364
+ if (!Number.isSafeInteger(row.revision) || row.revision < 1 || typeof row.data !== 'string')
365
+ throw new Error('ownership task source is corrupt');
366
+ return { operation_id: row.operation_id, revision: row.revision, source: row.data };
367
+ }
368
+ resetOwnershipTask(operationId, expectedRevision, expectedSource, task) {
369
+ try {
370
+ this._db.exec('BEGIN IMMEDIATE');
371
+ const current = this.loadOwnershipTaskSource(operationId);
372
+ if (!current)
373
+ throw new Error('ownership operation_not_found');
374
+ if (current.revision !== expectedRevision || current.source !== expectedSource)
375
+ throw new Error('ownership reset source snapshot or revision conflict');
376
+ let original;
377
+ try {
378
+ original = JSON.parse(current.source);
379
+ }
380
+ catch { }
381
+ if (original && typeof original === 'object' && Object.hasOwn(original, 'task_reset')) {
382
+ this._ownershipTaskRow({ operation_id: operationId, revision: current.revision, data: current.source });
383
+ throw new Error('ownership task was already reset');
384
+ }
385
+ const reset = task.task_reset;
386
+ if (!reset || reset.source !== current.source || reset.revision !== current.revision)
387
+ throw new Error('ownership reset original snapshot changed');
388
+ const revision = current.revision + 1, data = JSON.stringify(task);
389
+ if (!Number.isSafeInteger(revision))
390
+ throw new Error('ownership reset revision overflow');
391
+ const saved = this._ownershipTaskRow({ operation_id: operationId, revision, data });
392
+ this._db.prepare('UPDATE ownership_tasks SET revision = ?, data = ? WHERE operation_id = ? AND revision = ?').run(revision, data, operationId, current.revision);
393
+ this._db.exec('COMMIT');
394
+ return saved;
395
+ }
396
+ catch (error) {
397
+ try {
398
+ this._db.exec('ROLLBACK');
399
+ }
400
+ catch { }
401
+ throw error;
402
+ }
403
+ }
304
404
  loadOwnershipTask(operationId) {
305
405
  const row = this._db.prepare('SELECT operation_id, revision, data FROM ownership_tasks WHERE operation_id = ?').get(operationId);
306
406
  return row ? this._ownershipTaskRow(row) : null;
@@ -314,7 +414,14 @@ export class AIDDatabase {
314
414
  catch (error) {
315
415
  if (!isolateErrors)
316
416
  throw error;
317
- return { operation_id: row.operation_id, revision: row.revision, task: {} };
417
+ let task = {};
418
+ try {
419
+ const parsed = JSON.parse(row.data);
420
+ if (parsed && typeof parsed === 'object' && !Array.isArray(parsed))
421
+ task = parsed;
422
+ }
423
+ catch { }
424
+ return { operation_id: row.operation_id, revision: row.revision, task };
318
425
  }
319
426
  });
320
427
  }
@@ -327,8 +434,25 @@ export class AIDDatabase {
327
434
  const current = this.loadOwnershipTask(operationId);
328
435
  if ((current?.revision ?? null) !== expectedRevision)
329
436
  throw new Error('ownership task revision conflict');
330
- if (!current && task.status === 'pending' && task.initiator_aid === this._scope && this.listOwnershipTasks().some((saved) => (saved.task.status === 'pending' || saved.task.status === 'error' && saved.task.retryable === true) && saved.task.sub_aid === task.sub_aid))
331
- throw new Error('active ownership task already exists');
437
+ if (current && Object.hasOwn(current.task, 'task_reset') || Object.hasOwn(task, 'task_reset'))
438
+ throw new Error('ownership reset task cannot be changed through task CAS');
439
+ const recovering = current && !current.task.base_agent_md && current.task.legacy_recovery === undefined && current.task.legacy_task === undefined && (task.legacy_recovery !== undefined || task.legacy_task !== undefined);
440
+ if (recovering) {
441
+ const recovery = (task.legacy_recovery ?? task.legacy_task);
442
+ if (!recovery || recovery.revision !== current.revision || JSON.stringify(recovery.task) !== JSON.stringify(current.task))
443
+ throw new Error('ownership recovery original snapshot or revision changed');
444
+ }
445
+ if (task.status === 'pending' && (!current && task.initiator_aid === this._scope || recovering)) {
446
+ const related = this._db.prepare("SELECT operation_id, revision, data FROM ownership_tasks WHERE operation_id <> ? AND CASE WHEN json_valid(data) THEN json_extract(data, '$.sub_aid') END = ?").all(operationId, task.sub_aid);
447
+ if (related.map((row) => this._ownershipTaskRow(row)).some((saved) => {
448
+ if (Object.hasOwn(saved.task, 'task_reset'))
449
+ return false;
450
+ if (recovering && (saved.task.protocol !== '2.1' || !['bind', 'release', 'transfer'].includes(saved.task.operation) || !['pending', 'completed', 'rejected', 'stopped', 'error'].includes(saved.task.status)))
451
+ throw new Error('related ownership task is corrupt');
452
+ return saved.task.status === 'pending' || saved.task.status === 'error' && saved.task.retryable === true;
453
+ }))
454
+ throw new Error('active ownership task already exists');
455
+ }
332
456
  const revision = (expectedRevision ?? 0) + 1;
333
457
  if (!Number.isSafeInteger(revision))
334
458
  throw new Error('ownership task revision overflow');
@@ -350,6 +474,24 @@ export class AIDDatabase {
350
474
  setMetadata(key, value) {
351
475
  this._db.prepare('INSERT INTO metadata_kv (key, value, updated_at) VALUES (?, ?, ?) ON CONFLICT(key) DO UPDATE SET value=excluded.value, updated_at=excluded.updated_at').run(key, value, Date.now());
352
476
  }
477
+ setMetadataIfAbsent(key, value) {
478
+ try {
479
+ this._db.exec('BEGIN IMMEDIATE');
480
+ this._db.prepare('INSERT INTO metadata_kv (key, value, updated_at) VALUES (?, ?, ?) ON CONFLICT(key) DO NOTHING').run(key, value, Date.now());
481
+ const saved = this.getMetadata(key);
482
+ if (saved === null)
483
+ throw new Error('ownership migration checkpoint readback failed');
484
+ this._db.exec('COMMIT');
485
+ return saved;
486
+ }
487
+ catch (error) {
488
+ try {
489
+ this._db.exec('ROLLBACK');
490
+ }
491
+ catch { }
492
+ throw error;
493
+ }
494
+ }
353
495
  deleteMetadata(key) {
354
496
  this._db.prepare('DELETE FROM metadata_kv WHERE key = ?').run(key);
355
497
  }
@@ -361,8 +503,8 @@ export class AIDDatabase {
361
503
  return result;
362
504
  }
363
505
  saveGroupState(groupId, stateVersion, stateHash, keyEpoch, membershipJson, policyJson) {
364
- this._db.prepare(`INSERT INTO group_state (group_id, state_version, state_hash, key_epoch, membership_json, policy_json, updated_at)
365
- VALUES (?, ?, ?, ?, ?, ?, ?)
506
+ this._db.prepare(`INSERT INTO group_state (group_id, state_version, state_hash, key_epoch, membership_json, policy_json, updated_at)
507
+ VALUES (?, ?, ?, ?, ?, ?, ?)
366
508
  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());
367
509
  }
368
510
  loadGroupState(groupId) {
@@ -1 +1 @@
1
- {"version":3,"file":"aid-db.js","sourceRoot":"","sources":["../../src/keystore/aid-db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aid-db.js","sourceRoot":"","sources":["../../src/keystore/aid-db.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,16 @@ export interface OwnershipTaskSnapshot {
10
10
  revision: number;
11
11
  task: Record<string, unknown>;
12
12
  }
13
+ export interface OwnershipTaskSource {
14
+ operation_id: string;
15
+ revision: number;
16
+ source: string;
17
+ }
18
+ export interface P2PDeliveryReceipt {
19
+ seq: number;
20
+ sender_aid: string;
21
+ message_id?: string;
22
+ }
13
23
  /** 不含私钥操作的存储接口,AuthFlow / AUNClient 持有此类型。 */
14
24
  export interface TokenStore {
15
25
  /** 加载证书 */
@@ -42,6 +52,8 @@ export interface TokenStore {
42
52
  tail: number;
43
53
  head: number;
44
54
  }>;
55
+ loadP2PDeliveryReceipts?(aid: string, deviceId: string, slotId: string, eventClass: string, seqs: number[]): P2PDeliveryReceipt[];
56
+ saveP2PDeliveryReceipts?(aid: string, deviceId: string, slotId: string, eventClass: string, receipts: P2PDeliveryReceipt[]): void;
45
57
  /** 删除单个 namespace 的 contiguous_seq 行 */
46
58
  deleteSeq?(aid: string, deviceId: string, slotId: string, namespace: string): void;
47
59
  /** 读取最近 ack seq */
@@ -55,6 +67,8 @@ export interface TokenStore {
55
67
  loadOwnershipTask?(aid: string, operationId: string): OwnershipTaskSnapshot | null;
56
68
  listOwnershipTasks?(aid: string, isolateErrors?: boolean): OwnershipTaskSnapshot[];
57
69
  compareAndSwapOwnershipTask?(aid: string, operationId: string, expectedRevision: number | null, task: Record<string, unknown>): OwnershipTaskSnapshot;
70
+ loadOwnershipTaskSource?(aid: string, operationId: string): OwnershipTaskSource | null;
71
+ resetOwnershipTask?(aid: string, operationId: string, expectedRevision: number, expectedSource: string, task: Record<string, unknown>): OwnershipTaskSnapshot;
58
72
  /** 保存群组状态(state_hash 链) */
59
73
  saveGroupState?(groupId: string, stateVersion: number, stateHash: string, keyEpoch: number, membershipJson: string, policyJson: string): void;
60
74
  /** 加载群组状态 */
@@ -2,7 +2,7 @@
2
2
  * LocalTokenStore — 基于 SQLite 的 TokenStore 实现(不含私钥操作)。
3
3
  * AUNClient / AuthFlow 持有此类型。
4
4
  */
5
- import type { OwnershipTaskSnapshot, TokenStore } from './index.js';
5
+ import type { OwnershipTaskSnapshot, OwnershipTaskSource, P2PDeliveryReceipt, TokenStore } from './index.js';
6
6
  import type { SecretStore } from '../secret-store/index.js';
7
7
  import type { ModuleLogger } from '../logger.js';
8
8
  import { V2KeyStore } from '../v2/session/keystore.js';
@@ -25,12 +25,15 @@ export declare class LocalTokenStore implements TokenStore {
25
25
  close(): void;
26
26
  static ChangeSeed(root: string, oldSeed: string, newSeed: string): SeedChangeResult;
27
27
  changeSeed(oldSeed: string, newSeed: string): SeedChangeResult;
28
+ private _setEncryptionSeed;
28
29
  private _prepareRoot;
29
30
  private _getDB;
30
31
  private _getOwnershipDB;
31
32
  loadOwnershipTask(aid: string, operationId: string): OwnershipTaskSnapshot | null;
32
33
  listOwnershipTasks(aid: string, isolateErrors?: boolean): OwnershipTaskSnapshot[];
33
34
  compareAndSwapOwnershipTask(aid: string, operationId: string, expectedRevision: number | null, task: Record<string, unknown>): OwnershipTaskSnapshot;
35
+ loadOwnershipTaskSource(aid: string, operationId: string): OwnershipTaskSource | null;
36
+ resetOwnershipTask(aid: string, operationId: string, expectedRevision: number, expectedSource: string, task: Record<string, unknown>): OwnershipTaskSnapshot;
34
37
  loadCert(aid: string, certFingerprint?: string): string | null;
35
38
  saveCert(aid: string, certPem: string, certFingerprint?: string, opts?: {
36
39
  makeActive?: boolean;
@@ -51,8 +54,13 @@ export declare class LocalTokenStore implements TokenStore {
51
54
  tail: number;
52
55
  head: number;
53
56
  }>;
57
+ loadP2PDeliveryReceipts(aid: string, deviceId: string, slotId: string, eventClass: string, seqs: number[]): P2PDeliveryReceipt[];
58
+ saveP2PDeliveryReceipts(aid: string, deviceId: string, slotId: string, eventClass: string, receipts: P2PDeliveryReceipt[]): void;
54
59
  deleteSeq(aid: string, deviceId: string, slotId: string, namespace: string): void;
60
+ private _protectMetadata;
55
61
  loadMetadata(aid: string): Record<string, unknown> | null;
62
+ _loadMetadataStrict(aid: string): Record<string, unknown> | null;
63
+ private _readMetadata;
56
64
  saveMetadata(aid: string, metadata: Record<string, unknown>): void;
57
65
  trustRootDir(): string;
58
66
  trustRootBundlePath(): string;