@agentunion/fastaun 0.5.19 → 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.
- package/CHANGELOG.md +176 -78
- package/_packed_docs/CHANGELOG.md +176 -78
- package/_packed_docs/INDEX.md +288 -269
- package/_packed_docs/KITE_DOCS_GUIDE.md +101 -95
- package/_packed_docs/agent.md/SCHEMA.md +7 -7
- 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
- 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
- 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
- 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
- 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 +11 -11
- package/_packed_docs/protocol/06-/346/234/215/345/212/241/345/215/217/350/256/256.md +372 -331
- package/_packed_docs/protocol/08-AUN-E2EE.md +17 -12
- package/_packed_docs/protocol/10-Group-/345/255/220/345/215/217/350/256/256.md +676 -676
- package/_packed_docs/protocol/11-Storage-/345/255/220/345/215/217/350/256/256.md +8 -12
- package/_packed_docs/protocol/Ownership/345/215/217/350/256/256/345/256/232/344/271/211.md +445 -0
- package/_packed_docs/protocol/Ownership/345/215/217/350/256/256/345/256/232/344/271/2112.0.md +161 -0
- package/_packed_docs/protocol/Ownership/345/215/217/350/256/256/345/256/232/344/271/2112.1.md +666 -0
- package/_packed_docs/protocol/Ownership/345/215/217/350/256/256/345/256/232/344/271/2113.0.md +233 -0
- package/_packed_docs/protocol/agent.md/SCHEMA.md +1 -1
- 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
- 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
- package/_packed_docs/sdk/01-/345/277/253/351/200/237/345/274/200/345/247/213.md +1 -1
- package/_packed_docs/sdk/02-WebSocket/345/215/217/350/256/256.md +5 -1
- package/_packed_docs/sdk/03-/346/240/270/345/277/203/346/246/202/345/277/265.md +64 -64
- package/_packed_docs/sdk/04-/350/277/236/346/216/245/344/270/216/350/256/244/350/257/201.md +70 -63
- package/_packed_docs/sdk/05-E2EE/345/212/240/345/257/206/351/200/232/344/277/241.md +43 -40
- package/_packed_docs/sdk/06-API/346/211/213/345/206/214.md +179 -19
- package/_packed_docs/sdk/08-/346/234/200/344/275/263/345/256/236/350/267/265.md +50 -49
- package/_packed_docs/sdk/09-group-rpc-manual.md +261 -254
- package/_packed_docs/sdk/09-message-rpc-manual.md +253 -160
- package/_packed_docs/sdk/09-storage-rpc-manual.md +18 -26
- 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
- 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
- package/_packed_docs/sdk/AUN_DOCS_GUIDE.md +105 -92
- package/_packed_docs/sdk/INDEX.md +197 -167
- package/_packed_docs/sdk/Ownership-SDK/345/256/236/347/216/260/346/214/207/345/215/227.md +169 -0
- package/_packed_docs/sdk/Ownership-SDK/347/274/226/346/216/222/346/214/207/345/215/227.md +349 -0
- package/_packed_docs/sdk/Ownership-SDK/347/274/226/346/216/222/346/214/207/345/215/2272.1.md +930 -0
- package/_packed_docs/sdk/Ownership-SDK/351/233/206/346/210/220/346/214/207/345/215/227.md +270 -0
- 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 +363 -0
- 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 +553 -0
- 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 -0
- package/_packed_docs/sdk/Ownership2.1/350/257/246/347/273/206/350/256/276/350/256/241.md +480 -0
- package/_packed_docs/sdk/Ownership/347/256/241/347/220/206/344/270/223/351/242/230.md +559 -0
- package/_packed_docs/sdk/ProtectedHeaders/347/224/250/346/263/225/344/270/223/351/242/230.md +299 -0
- 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 +173 -0
- 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 +211 -0
- package/_packed_docs//350/267/250/350/256/276/345/244/207/345/267/262/350/257/273/346/234/252/350/257/273SDK/345/256/236/347/216/260/347/247/273/346/244/215/346/214/207/345/215/227.md +331 -0
- package/_packed_docs//350/267/250/350/256/276/345/244/207/345/267/262/350/257/273/346/234/252/350/257/273SDK/351/233/206/346/210/220/346/214/207/345/215/227.md +207 -0
- package/_packed_docs//350/267/250/350/256/276/345/244/207/345/267/262/350/257/273/346/234/252/350/257/273/344/273/243/347/240/201/345/256/241/346/237/245/346/212/245/345/221/212.md +252 -0
- package/_packed_docs//350/267/250/350/256/276/345/244/207/345/267/262/350/257/273/346/234/252/350/257/273/345/256/236/346/226/275/350/256/241/345/210/222.md +156 -0
- package/_packed_docs//350/267/250/350/256/276/345/244/207/345/267/262/350/257/273/346/234/252/350/257/273/346/226/271/346/241/210.md +273 -0
- package/_packed_docs//350/267/250/350/256/276/345/244/207/345/267/262/350/257/273/346/234/252/350/257/273/350/257/246/347/273/206/350/256/276/350/256/241.md +211 -0
- package/dist/agent-md-schema.d.ts +13 -1
- package/dist/agent-md-schema.js +63 -33
- package/dist/agent-md-schema.js.map +1 -1
- package/dist/agent-md.d.ts +30 -3
- package/dist/agent-md.js +293 -152
- package/dist/agent-md.js.map +1 -1
- package/dist/aid-store.d.ts +42 -0
- package/dist/aid-store.js +224 -44
- package/dist/aid-store.js.map +1 -1
- package/dist/aid.js +18 -13
- package/dist/aid.js.map +1 -1
- package/dist/auth.js +78 -2
- package/dist/auth.js.map +1 -1
- package/dist/cert-utils.d.ts +44 -1
- package/dist/cert-utils.js +157 -56
- package/dist/cert-utils.js.map +1 -1
- package/dist/client/delivery.d.ts +68 -1
- package/dist/client/delivery.js +1196 -135
- package/dist/client/delivery.js.map +1 -1
- package/dist/client/rpc-pipeline.d.ts +5 -1
- package/dist/client/rpc-pipeline.js +240 -111
- package/dist/client/rpc-pipeline.js.map +1 -1
- package/dist/client/v2-e2ee.d.ts +12 -2
- package/dist/client/v2-e2ee.js +842 -379
- package/dist/client/v2-e2ee.js.map +1 -1
- package/dist/client.d.ts +26 -2
- package/dist/client.js +420 -75
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +4 -0
- package/dist/config.js +1 -0
- package/dist/config.js.map +1 -1
- package/dist/events.d.ts +23 -4
- package/dist/events.js +171 -15
- package/dist/events.js.map +1 -1
- package/dist/facades.d.ts +43 -1
- package/dist/facades.js +368 -12
- package/dist/facades.js.map +1 -1
- package/dist/index.d.ts +7 -4
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/keystore/aid-db.d.ts +7 -2
- package/dist/keystore/aid-db.js +194 -43
- package/dist/keystore/aid-db.js.map +1 -1
- package/dist/keystore/index.d.ts +15 -1
- package/dist/keystore/local-token-store.d.ts +10 -2
- package/dist/keystore/local-token-store.js +81 -16
- package/dist/keystore/local-token-store.js.map +1 -1
- package/dist/org-protocol.d.ts +45 -0
- package/dist/org-protocol.js +829 -22
- package/dist/org-protocol.js.map +1 -1
- package/dist/ownership-v21.d.ts +40 -9
- package/dist/ownership-v21.js +174 -79
- package/dist/ownership-v21.js.map +1 -1
- package/dist/ownership-workflow.d.ts +22 -0
- package/dist/ownership-workflow.js +861 -66
- package/dist/ownership-workflow.js.map +1 -1
- package/dist/secret-store/file-store.js +84 -0
- package/dist/secret-store/file-store.js.map +1 -1
- package/dist/seq-tracker.d.ts +1 -0
- package/dist/seq-tracker.js +2 -2
- package/dist/seq-tracker.js.map +1 -1
- package/dist/tools/cross-sdk-agent.d.ts +67 -3
- package/dist/tools/cross-sdk-agent.js +575 -42
- package/dist/tools/cross-sdk-agent.js.map +1 -1
- package/dist/transport.d.ts +4 -0
- package/dist/transport.js +108 -44
- package/dist/transport.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/v2/e2ee/encrypt-group.js +1 -0
- package/dist/v2/e2ee/encrypt-group.js.map +1 -1
- package/dist/v2/e2ee/encrypt-p2p.js +1 -0
- package/dist/v2/e2ee/encrypt-p2p.js.map +1 -1
- package/dist/v2/e2ee/types.d.ts +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/dist/facades.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facades.js","sourceRoot":"","sources":["../src/facades.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"facades.js","sourceRoot":"","sources":["../src/facades.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,9 +6,12 @@
|
|
|
6
6
|
export { VERSION } from './version.js';
|
|
7
7
|
export { AUNClient, type ConnectionOptions, type NotifyOptions, type CreateGroupOptions, type BindGroupAidOptions, type CompleteGroupTransferOptions, type OrgIdentityOptions } from './client.js';
|
|
8
8
|
export { AID, type VerifyResult, type VerifyContext } from './aid.js';
|
|
9
|
+
export { type DocumentSignatureResult } from './cert-utils.js';
|
|
9
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';
|
|
10
|
-
export { AIDStore, type AIDInfo, type RegisterOptions, type ResolveOpts, type UploadAgentMdOptions, type ImportGroupIdentityOptions, type ImportGroupIdentityResult } from './aid-store.js';
|
|
11
|
+
export { AIDStore, type AIDInfo, type RegisterOptions, type ResolveOpts, type UploadAgentMdOptions, type SignatureOptions, type ImportGroupIdentityOptions, type ImportGroupIdentityResult } from './aid-store.js';
|
|
11
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';
|
|
12
15
|
export { getDeviceId, type AUNConfig, defaultConfig, configFromMap } from './config.js';
|
|
13
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';
|
|
14
17
|
export { validateAIDFormat, validateGroupAIDFormat, validateGroupIDFormat } from './validators.js';
|
|
@@ -30,12 +33,12 @@ export { RPCTransport } from './transport.js';
|
|
|
30
33
|
export { EmbeddedServiceRegistry, EndpointPolicy, ServiceProxyClient, ServiceRecord, type ServiceProxyClientOptions, type ServiceSummary, } from './service-proxy.js';
|
|
31
34
|
export { StorageVFS, StorageLowLevel, StorageError, StorageNotFoundError, StorageAccessDeniedError, StorageConflictError, StorageLoopError, StorageDanglingSymlinkError, type NodeView, type UsageView, type DownloadResult, type RemoveResult, type UnmountResult, } from './storage/index.js';
|
|
32
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';
|
|
33
|
-
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';
|
|
34
37
|
export { GroupFSVFS, isGroupRemotePath, type GroupFSCopyDestination, type GroupFSCopyOptions, type GroupFSCopySource, type GroupFSDownloadResult, type GroupFSRpcClient, } from './group-fs.js';
|
|
35
38
|
export { GatewayDiscovery } from './discovery.js';
|
|
36
39
|
export { AuthFlow } from './auth.js';
|
|
37
|
-
export type { OwnershipTaskResult } from './ownership-workflow.js';
|
|
38
|
-
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';
|
|
39
42
|
export { RegisterFlow, type RegisterResult } from './register-flow.js';
|
|
40
43
|
export { ProtectedHeaders } from './protected-headers.js';
|
|
41
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":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,4DAA4D;AAC5D,OAAO,EAAE,SAAS,EAA6J,MAAM,aAAa,CAAC;AACnM,OAAO,EAAE,GAAG,EAAyC,MAAM,UAAU,CAAC;
|
|
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
|
-
listOwnershipTasks(): OwnershipTaskSnapshot[];
|
|
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;
|
package/dist/keystore/aid-db.js
CHANGED
|
@@ -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 =
|
|
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
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
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
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
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
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
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,15 +341,89 @@ 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;
|
|
307
407
|
}
|
|
308
|
-
listOwnershipTasks() {
|
|
408
|
+
listOwnershipTasks(isolateErrors = false) {
|
|
309
409
|
const rows = this._db.prepare('SELECT operation_id, revision, data FROM ownership_tasks ORDER BY rowid').all();
|
|
310
|
-
return rows.map((row) =>
|
|
410
|
+
return rows.map((row) => {
|
|
411
|
+
try {
|
|
412
|
+
return this._ownershipTaskRow(row);
|
|
413
|
+
}
|
|
414
|
+
catch (error) {
|
|
415
|
+
if (!isolateErrors)
|
|
416
|
+
throw error;
|
|
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 };
|
|
425
|
+
}
|
|
426
|
+
});
|
|
311
427
|
}
|
|
312
428
|
compareAndSwapOwnershipTask(operationId, expectedRevision, task) {
|
|
313
429
|
if (task.operation_id !== operationId || expectedRevision !== null && (!Number.isSafeInteger(expectedRevision) || expectedRevision < 1))
|
|
@@ -318,8 +434,25 @@ export class AIDDatabase {
|
|
|
318
434
|
const current = this.loadOwnershipTask(operationId);
|
|
319
435
|
if ((current?.revision ?? null) !== expectedRevision)
|
|
320
436
|
throw new Error('ownership task revision conflict');
|
|
321
|
-
if (
|
|
322
|
-
throw new Error('
|
|
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
|
+
}
|
|
323
456
|
const revision = (expectedRevision ?? 0) + 1;
|
|
324
457
|
if (!Number.isSafeInteger(revision))
|
|
325
458
|
throw new Error('ownership task revision overflow');
|
|
@@ -341,6 +474,24 @@ export class AIDDatabase {
|
|
|
341
474
|
setMetadata(key, value) {
|
|
342
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());
|
|
343
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
|
+
}
|
|
344
495
|
deleteMetadata(key) {
|
|
345
496
|
this._db.prepare('DELETE FROM metadata_kv WHERE key = ?').run(key);
|
|
346
497
|
}
|
|
@@ -352,8 +503,8 @@ export class AIDDatabase {
|
|
|
352
503
|
return result;
|
|
353
504
|
}
|
|
354
505
|
saveGroupState(groupId, stateVersion, stateHash, keyEpoch, membershipJson, policyJson) {
|
|
355
|
-
this._db.prepare(`INSERT INTO group_state (group_id, state_version, state_hash, key_epoch, membership_json, policy_json, updated_at)
|
|
356
|
-
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 (?, ?, ?, ?, ?, ?, ?)
|
|
357
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());
|
|
358
509
|
}
|
|
359
510
|
loadGroupState(groupId) {
|