enigma-memory 0.1.18 → 0.1.22

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 (276) hide show
  1. package/README.md +76 -24
  2. package/apps/cli/bin/enigma-desktop.mjs +140 -0
  3. package/apps/cli/bin/enigma-terminal.mjs +78 -0
  4. package/apps/cli/bin/enigma.mjs +1923 -285
  5. package/apps/desktop/electron-main.cjs +217 -0
  6. package/apps/desktop/package.json +12 -0
  7. package/apps/desktop/src/app.js +264 -7
  8. package/apps/desktop/src/index.html +3514 -1373
  9. package/apps/desktop/src/launch-electron.mjs +51 -0
  10. package/apps/desktop/src/server.mjs +2914 -0
  11. package/apps/desktop/src/styles.css +2972 -260
  12. package/apps/desktop/src/zk-browser-prove.mjs +53 -0
  13. package/apps/desktop/src/zk-state.mjs +1789 -0
  14. package/apps/gateway/bin/enigma-gateway.mjs +102 -5
  15. package/apps/gateway/src/server.mjs +271 -8
  16. package/apps/ios/EnigmaCore/Package.swift +12 -0
  17. package/apps/ios/EnigmaCore/Sources/EnigmaCore/EnigmaAPIClient.swift +227 -0
  18. package/apps/ios/EnigmaCore/Sources/EnigmaCore/Models.swift +278 -0
  19. package/apps/ios/EnigmaCore/Sources/EnigmaCore/PKCE.swift +96 -0
  20. package/apps/ios/EnigmaCore/Sources/EnigmaCore/PrivacyMinimizer.swift +187 -0
  21. package/apps/ios/EnigmaCore/Sources/EnigmaCore/ToolModels.swift +129 -0
  22. package/apps/ios/EnigmaCore/Tests/EnigmaCoreTests/EnigmaCoreTests.swift +42 -0
  23. package/apps/ios/EnigmaIOS/Enigma/AppModel.swift +346 -0
  24. package/apps/ios/EnigmaIOS/Enigma/Assets.xcassets/AccentColor.colorset/Contents.json +12 -0
  25. package/apps/ios/EnigmaIOS/Enigma/Assets.xcassets/AppIcon.appiconset/Contents.json +11 -0
  26. package/apps/ios/EnigmaIOS/Enigma/Assets.xcassets/AppIcon.appiconset/EnigmaAppIcon.png +0 -0
  27. package/apps/ios/EnigmaIOS/Enigma/Assets.xcassets/Contents.json +3 -0
  28. package/apps/ios/EnigmaIOS/Enigma/Assets.xcassets/LaunchBackground.colorset/Contents.json +12 -0
  29. package/apps/ios/EnigmaIOS/Enigma/ChatView.swift +181 -0
  30. package/apps/ios/EnigmaIOS/Enigma/CouncilView.swift +78 -0
  31. package/apps/ios/EnigmaIOS/Enigma/CreateView.swift +152 -0
  32. package/apps/ios/EnigmaIOS/Enigma/EnigmaApp.swift +52 -0
  33. package/apps/ios/EnigmaIOS/Enigma/Info.plist +52 -0
  34. package/apps/ios/EnigmaIOS/Enigma/NaturalLanguagePrivacyTagger.swift +26 -0
  35. package/apps/ios/EnigmaIOS/Enigma/OAuthClient.swift +321 -0
  36. package/apps/ios/EnigmaIOS/Enigma/OnboardingView.swift +105 -0
  37. package/apps/ios/EnigmaIOS/Enigma/PrivateVaultView.swift +275 -0
  38. package/apps/ios/EnigmaIOS/Enigma/SecureStore.swift +76 -0
  39. package/apps/ios/EnigmaIOS/Enigma/SettingsView.swift +60 -0
  40. package/apps/ios/EnigmaIOS/Enigma/Theme.swift +80 -0
  41. package/apps/ios/EnigmaIOS/EnigmaIOS.xcodeproj/project.pbxproj +211 -0
  42. package/apps/ios/EnigmaIOS/EnigmaIOS.xcodeproj/xcshareddata/xcschemes/Enigma.xcscheme +23 -0
  43. package/apps/native-host/README.md +19 -8
  44. package/apps/native-host/bin/enigma-native-host.mjs +229 -13
  45. package/apps/relay/bin/enigma-relay.mjs +103 -5
  46. package/apps/relay/src/federation-runtime.mjs +618 -0
  47. package/apps/relay/src/server.mjs +310 -9
  48. package/apps/verifier/bin/enigma-verify.mjs +327 -11
  49. package/cortex-v3/circuits/build/intent_vk_bytes.json +35 -0
  50. package/cortex-v3/circuits/build/sale_vk_bytes.json +35 -0
  51. package/cortex-v3/circuits/build/vk_bytes.json +32 -0
  52. package/cortex-v3/proving-assets.json +64 -0
  53. package/cortex-v3/zk/BUILD-CONTRACT.md +87 -0
  54. package/cortex-v3/zk/action-transition-vk.json +119 -0
  55. package/cortex-v3/zk/alias-adversarial.test.mjs +220 -0
  56. package/cortex-v3/zk/groth16-verify-child.mjs +17 -0
  57. package/cortex-v3/zk/intent-witness.mjs +365 -0
  58. package/cortex-v3/zk/intent-witness.test.mjs +485 -0
  59. package/cortex-v3/zk/proving-assets.mjs +203 -0
  60. package/cortex-v3/zk/sale-witness.mjs +783 -0
  61. package/cortex-v3/zk/sale-witness.test.mjs +784 -0
  62. package/cortex-v3/zk/sealed-sale-release-vk.json +119 -0
  63. package/cortex-v3/zk/settlement-evidence.mjs +722 -0
  64. package/cortex-v3/zk/setup-intent.mjs +688 -0
  65. package/cortex-v3/zk/setup-sale.mjs +666 -0
  66. package/cortex-v3/zk/setup.mjs +594 -0
  67. package/cortex-v3/zk/witness.mjs +184 -0
  68. package/cortex-v3/zk/zk-codec.mjs +232 -0
  69. package/cortex-v3/zk/zk-codec.test.mjs +293 -0
  70. package/cortex-v3/zk/zk-settle.mjs +370 -0
  71. package/cortex-v3/zk/zk-tree.mjs +256 -0
  72. package/cortex-v3/zk/zk-tree.test.mjs +419 -0
  73. package/deploy/docker-compose.local-production-simulation.yml +36 -0
  74. package/docs/browser-extension-install.md +8 -6
  75. package/docs/client-connectors.md +15 -11
  76. package/docs/developer-ecosystem.md +15 -13
  77. package/docs/enigma-memory-ready-conformance.md +11 -9
  78. package/docs/install-anywhere.md +61 -28
  79. package/docs/installers-and-desktop.md +8 -7
  80. package/docs/novelty-invention-candidates.md +161 -161
  81. package/docs/proof-network-claim-boundaries.md +320 -318
  82. package/examples/01-quickstart-agent/index.mjs +49 -0
  83. package/examples/01_agent_memory_quickstart.mjs +57 -0
  84. package/examples/02-multi-agent-swarm/index.mjs +57 -0
  85. package/examples/02_cross_model_passport.mjs +64 -0
  86. package/examples/03-langchain-memory/index.mjs +41 -0
  87. package/examples/03_poseidon_commitment_verification.mjs +71 -0
  88. package/examples/04-python-trading-agent/trader.py +49 -0
  89. package/examples/README.md +27 -0
  90. package/examples/ci/github-actions.yml +7 -2
  91. package/package.json +142 -11
  92. package/packages/adapters/PACKAGE_CONTRACT.md +1 -1
  93. package/packages/connectors/src/index.js +196 -4
  94. package/packages/connectors/swarm-router.mjs +168 -0
  95. package/packages/core/src/index.js +248 -1
  96. package/packages/core/src/version.mjs +7 -0
  97. package/packages/dev-tools/package.json +19 -0
  98. package/packages/dev-tools/src/index.js +4 -0
  99. package/packages/dev-tools/src/memory-benchmark-suite.js +112 -0
  100. package/packages/dev-tools/src/swarm-simulator.js +101 -0
  101. package/packages/dev-tools/src/vault-inspector.js +114 -0
  102. package/packages/dev-tools/src/vector-benchmark.js +100 -0
  103. package/packages/developer-platform/src/access-credentials.js +341 -0
  104. package/packages/developer-platform/src/http.js +132 -0
  105. package/packages/developer-platform/src/index.js +4 -0
  106. package/packages/developer-platform/src/usage-http.js +60 -0
  107. package/packages/developer-platform/src/usage.js +295 -0
  108. package/packages/enclave-runtime/attestation.mjs +159 -0
  109. package/packages/enclave-runtime/index.mjs +47 -0
  110. package/packages/enclave-runtime/session-manager.mjs +253 -0
  111. package/packages/enclave-runtime/zeroization-proof.mjs +227 -0
  112. package/packages/enigma-reflex/package.json +14 -0
  113. package/packages/enigma-reflex/src/index.js +204 -0
  114. package/packages/enigma-reflex/training/generate-dataset.mjs +40 -0
  115. package/packages/enigma-reflex/training/requirements.txt +8 -0
  116. package/packages/enigma-reflex/training/train.py +314 -0
  117. package/packages/enigma-weave/LICENSE +22 -0
  118. package/packages/enigma-weave/UPSTREAM.json +21 -0
  119. package/packages/enigma-weave/package.json +14 -0
  120. package/packages/enigma-weave/src/index.js +286 -0
  121. package/packages/hosted-cloud/src/index.js +80 -5
  122. package/packages/importers/src/index.js +432 -0
  123. package/packages/inference-runtime/src/browser.js +401 -0
  124. package/packages/inference-runtime/src/chat.js +265 -0
  125. package/packages/inference-runtime/src/code.js +407 -0
  126. package/packages/inference-runtime/src/contracts.js +162 -0
  127. package/packages/inference-runtime/src/http.js +232 -0
  128. package/packages/inference-runtime/src/image.js +186 -0
  129. package/packages/inference-runtime/src/index.js +10 -0
  130. package/packages/inference-runtime/src/model-router.js +320 -0
  131. package/packages/inference-runtime/src/platform.js +125 -0
  132. package/packages/inference-runtime/src/privacy.js +400 -0
  133. package/packages/inference-runtime/src/video.js +253 -0
  134. package/packages/mcp-server/README.md +22 -6
  135. package/packages/mcp-server/bin/enigma-mcp.mjs +2 -1
  136. package/packages/mcp-server/src/index.js +1418 -105
  137. package/packages/mcp-server/src/oauth.js +561 -0
  138. package/packages/mcp-server/src/private-handoff.js +84 -0
  139. package/packages/mcp-server/src/remote-http.js +273 -0
  140. package/packages/mcp-server/src/remote-policy.js +72 -0
  141. package/packages/mcp-server/swarm-bridge.mjs +361 -0
  142. package/packages/mesh/index.d.ts +283 -0
  143. package/packages/mesh/package.json +23 -0
  144. package/packages/mesh/src/crypto.js +189 -0
  145. package/packages/mesh/src/federation-packets.js +353 -0
  146. package/packages/mesh/src/gossip.js +311 -0
  147. package/packages/mesh/src/index.js +6 -0
  148. package/packages/mesh/src/protocol.js +255 -0
  149. package/packages/mesh/src/router.js +279 -0
  150. package/packages/mesh/src/transport.js +306 -0
  151. package/packages/passport/src/index.js +426 -1
  152. package/packages/private-economy/src/credits-http.js +100 -0
  153. package/packages/private-economy/src/credits.js +447 -0
  154. package/packages/private-economy/src/index.js +5 -0
  155. package/packages/private-economy/src/payments-http.js +120 -0
  156. package/packages/private-economy/src/payments.js +509 -0
  157. package/packages/private-economy/src/x402.js +346 -0
  158. package/packages/proof-network/PACKAGE_CONTRACT.md +21 -0
  159. package/packages/rag/index.d.ts +182 -0
  160. package/packages/rag/models/Xenova/all-MiniLM-L6-v2/THIRD_PARTY_LICENSES.txt +207 -0
  161. package/packages/rag/models/Xenova/all-MiniLM-L6-v2/config.json +25 -0
  162. package/packages/rag/models/Xenova/all-MiniLM-L6-v2/onnx/model_quantized.onnx +0 -0
  163. package/packages/rag/models/Xenova/all-MiniLM-L6-v2/sha256-manifest.json +28 -0
  164. package/packages/rag/models/Xenova/all-MiniLM-L6-v2/tokenizer.json +30686 -0
  165. package/packages/rag/models/Xenova/all-MiniLM-L6-v2/tokenizer_config.json +15 -0
  166. package/packages/rag/package.json +27 -0
  167. package/packages/rag/src/blinded-search.js +109 -0
  168. package/packages/rag/src/bm25.js +169 -0
  169. package/packages/rag/src/embeddings.js +459 -0
  170. package/packages/rag/src/hybrid.js +76 -0
  171. package/packages/rag/src/index.js +38 -0
  172. package/packages/rag/src/reranker.js +61 -0
  173. package/packages/rag/src/research.js +107 -0
  174. package/packages/rag/src/vector-store.js +430 -0
  175. package/packages/rag/src/verify-model-artifacts.mjs +4 -0
  176. package/packages/sdk/index.d.ts +760 -0
  177. package/packages/sdk/package.json +33 -0
  178. package/packages/sdk/python/README.md +24 -0
  179. package/packages/sdk/python/enigma_sdk.py +250 -0
  180. package/packages/sdk/python/pyproject.toml +34 -0
  181. package/packages/sdk/python/requirements.txt +1 -0
  182. package/packages/sdk/python/setup.py +20 -0
  183. package/packages/sdk/src/federation/capability-grant.js +389 -0
  184. package/packages/sdk/src/federation/federation-router.js +360 -0
  185. package/packages/sdk/src/federation/ghostmesh-bridge.js +497 -0
  186. package/packages/sdk/src/federation/index.js +3 -0
  187. package/packages/sdk/src/index.js +1796 -0
  188. package/packages/sdk/src/intelligence/contradiction.js +337 -0
  189. package/packages/sdk/src/intelligence/decision-engine.js +155 -0
  190. package/packages/sdk/src/intelligence/index.js +4 -0
  191. package/packages/sdk/src/intelligence/ontology.js +122 -0
  192. package/packages/sdk/src/intelligence/temporal.js +123 -0
  193. package/packages/sdk/src/market-client.js +142 -0
  194. package/packages/sdk/src/mesh-client.js +110 -0
  195. package/packages/sdk/src/middleware/index.js +3 -0
  196. package/packages/sdk/src/middleware/langchain.js +159 -0
  197. package/packages/sdk/src/middleware/llamaindex.js +101 -0
  198. package/packages/sdk/src/middleware/vercel-ai.js +112 -0
  199. package/packages/sdk/src/rag-client.js +85 -0
  200. package/packages/sdk/src/swarm-orchestrator.js +260 -0
  201. package/packages/settlement/PACKAGE_CONTRACT.md +1 -1
  202. package/packages/snapcompact/THIRD_PARTY_LICENSES.txt +40 -0
  203. package/packages/snapcompact/assets/8x13-latin1.bdf +3837 -0
  204. package/packages/snapcompact/index.d.ts +284 -0
  205. package/packages/snapcompact/package.json +25 -0
  206. package/packages/snapcompact/src/index.js +716 -0
  207. package/packages/storage/PACKAGE_CONTRACT.md +1 -1
  208. package/packages/terminal-console/animations.mjs +240 -0
  209. package/packages/terminal-console/auto-anchor.mjs +220 -0
  210. package/packages/terminal-console/banner.mjs +91 -0
  211. package/packages/terminal-console/commands.mjs +459 -0
  212. package/packages/terminal-console/delegation.mjs +152 -0
  213. package/packages/terminal-console/index.mjs +5 -0
  214. package/packages/terminal-console/outbox.mjs +143 -0
  215. package/packages/terminal-console/phantom-bridge.mjs +637 -0
  216. package/packages/terminal-console/repl.mjs +136 -0
  217. package/packages/terminal-console/signer-store.mjs +130 -0
  218. package/packages/terminal-console/solana-rpc.mjs +214 -0
  219. package/packages/terminal-console/solana-transport.mjs +189 -0
  220. package/packages/terminal-tui/dashboard.mjs +214 -0
  221. package/packages/terminal-tui/index.mjs +28 -0
  222. package/packages/terminal-tui/merkle-tree-renderer.mjs +268 -0
  223. package/packages/terminal-tui/telemetry-hud.mjs +137 -0
  224. package/packages/vault/index.d.ts +449 -0
  225. package/packages/vault/package.json +27 -0
  226. package/packages/vault/src/e2ee.mjs +393 -0
  227. package/packages/vault/src/enclave.js +481 -0
  228. package/packages/vault/src/erasure.js +207 -0
  229. package/packages/vault/src/index.js +1018 -155
  230. package/packages/vault/src/persistence.js +307 -0
  231. package/packages/vault/src/poseidon.js +354 -0
  232. package/packages/vault/src/receipt.js +459 -0
  233. package/scripts/benchmark-optical-context.mjs +166 -0
  234. package/scripts/bootstrap-enigma.mjs +502 -0
  235. package/scripts/build-edge-backend-workers.mjs +20 -5
  236. package/scripts/build-goal-completion-audit.mjs +72 -25
  237. package/scripts/build-hosted-api-key-lifecycle.mjs +26 -8
  238. package/scripts/build-hosted-customer-lifecycle.mjs +20 -3
  239. package/scripts/build-hosted-probe-worker.mjs +19 -4
  240. package/scripts/build-installer-assets.mjs +41 -21
  241. package/scripts/build-operator-evidence-starter.mjs +59 -1
  242. package/scripts/build-production-backend-env-kit.mjs +2 -0
  243. package/scripts/build-production-unblocker.mjs +3 -0
  244. package/scripts/check.mjs +17 -3
  245. package/scripts/collect-hosted-backend-live-evidence.mjs +49 -12
  246. package/scripts/install-enigma-local.mjs +18 -5
  247. package/scripts/release-audit.mjs +65 -109
  248. package/scripts/release-provenance.mjs +6 -0
  249. package/scripts/run-backend-readiness-smoke.mjs +112 -10
  250. package/scripts/scan-secrets.mjs +1 -0
  251. package/scripts/simulate-production-env.mjs +7 -2
  252. package/scripts/validate-hosted-backend-live.mjs +112 -1
  253. package/specs/antibody-pack-v1.schema.json +95 -0
  254. package/specs/antigen-envelope-v1.schema.json +81 -0
  255. package/specs/boundary-manifest-v1.schema.json +35 -35
  256. package/specs/capsule-v1.schema.json +55 -55
  257. package/specs/claim-boundary-manifest-v1.schema.json +22 -22
  258. package/specs/claim-ledger-v1.schema.json +291 -0
  259. package/specs/context-passport-v1.schema.json +59 -0
  260. package/specs/deletion-tombstone-v1.schema.json +26 -26
  261. package/specs/evidence-packet-v1.schema.json +177 -0
  262. package/specs/hosted-backend-live-evidence-v1.schema.json +72 -3
  263. package/specs/immune-scan-report-v1.schema.json +112 -0
  264. package/specs/lifecycle-receipt-log-v1.schema.json +67 -0
  265. package/specs/memory-atom-v1.schema.json +59 -0
  266. package/specs/memory-event-v1.schema.json +42 -42
  267. package/specs/passport-v1.schema.json +50 -50
  268. package/specs/proof-of-non-use-v1.schema.json +65 -0
  269. package/specs/quarantine-record-v1.schema.json +126 -0
  270. package/specs/receipt-v1.schema.json +61 -61
  271. package/specs/state-checkpoint-v1.schema.json +37 -37
  272. package/specs/trust-bundle-v1.schema.json +56 -56
  273. package/specs/trust-card-v1.schema.json +119 -0
  274. package/docs/proof-network-launch-plan.md +0 -421
  275. package/packages/metering/PACKAGE_CONTRACT.md +0 -20
  276. package/scripts/build-ai-orchestration-plan.mjs +0 -248
@@ -0,0 +1,449 @@
1
+ /// <reference types="node" />
2
+
3
+ export interface KdfSpec {
4
+ algorithm: 'pbkdf2' | 'scrypt';
5
+ iterations?: number;
6
+ hash?: string;
7
+ n?: number;
8
+ r?: number;
9
+ p?: number;
10
+ maxmem?: number;
11
+ salt?: string;
12
+ }
13
+
14
+ export declare const DEFAULT_KDF_SPEC: KdfSpec;
15
+ export declare const PBKDF2_KDF_SPEC: KdfSpec;
16
+
17
+ export interface DerivedKeys {
18
+ kek: Buffer;
19
+ vaultKey: Buffer;
20
+ addressKey: Buffer;
21
+ signingSeed: Buffer;
22
+ }
23
+
24
+ export declare function validateKdfSpec(kdfSpec?: KdfSpec): KdfSpec;
25
+ export declare function deriveMasterKeyFromPassphrase(passphrase: string | Buffer, salt: string | Buffer, kdfSpec?: KdfSpec): Buffer;
26
+ export declare function deriveKeysFromPassphrase(passphrase: string | Buffer, salt: string | Buffer, kdfSpec?: KdfSpec): DerivedKeys;
27
+
28
+ export interface MemoryReceipt {
29
+ schema: string;
30
+ version: number;
31
+ receipt_id: string;
32
+ memory_id: string;
33
+ operation: 'append' | 'update' | 'revoke' | string;
34
+ commitment: string;
35
+ previous_root: string;
36
+ new_root: string;
37
+ leaf_index: number;
38
+ inclusion_proof?: unknown;
39
+ transition_proof?: {
40
+ type: string;
41
+ operation: string;
42
+ prior_size: number;
43
+ new_size: number;
44
+ prior_commitments: string[];
45
+ prior_commitment?: string;
46
+ prior_inclusion_proof?: unknown;
47
+ new_non_membership_proof?: unknown;
48
+ };
49
+ timestamp: string;
50
+ agent_pubkey: string;
51
+ signature: string;
52
+ metadata?: Record<string, unknown>;
53
+ }
54
+
55
+ export interface CreateMemoryReceiptResult {
56
+ receipt: MemoryReceipt;
57
+ opening: {
58
+ blindingFactor: string;
59
+ contentHash: string;
60
+ };
61
+ }
62
+
63
+ export interface ReceiptVerificationResult {
64
+ ok: boolean;
65
+ verified: boolean;
66
+ receipt_id: string;
67
+ memory_id: string;
68
+ operation?: string;
69
+ commitment: string;
70
+ previous_root?: string;
71
+ new_root?: string;
72
+ signatureValid: boolean;
73
+ inclusionValid: boolean;
74
+ transitionValid: boolean;
75
+ openingValid?: boolean;
76
+ errors: string[];
77
+ }
78
+
79
+ export declare const MEMORY_RECEIPT_SCHEMA: string;
80
+
81
+ export declare function computeHidingCommitment(
82
+ plaintext: string,
83
+ blindingFactor?: Buffer | string | null
84
+ ): { commitment: string; blindingFactor: string; contentHash: string };
85
+
86
+ export declare function verifyCommitmentOpening(
87
+ plaintext: string,
88
+ blindingFactorHex: string,
89
+ expectedCommitmentHex: string
90
+ ): boolean;
91
+
92
+ export declare function getReceiptSignablePayload(receipt: Partial<MemoryReceipt>): string;
93
+
94
+ export declare function createMemoryReceipt(params: {
95
+ memoryId: string;
96
+ plaintext: string;
97
+ operation?: 'append' | 'update' | 'revoke' | string;
98
+ blindingFactor?: Buffer | string | null;
99
+ previousRoot?: string;
100
+ priorCommitments?: string[];
101
+ priorCommitment?: string;
102
+ signingSecretKey: Buffer | string;
103
+ signingPublicKey: Buffer | string;
104
+ metadata?: Record<string, unknown>;
105
+ }): CreateMemoryReceiptResult;
106
+
107
+ export declare function verifyMemoryReceipt(
108
+ receipt: MemoryReceipt,
109
+ options?: { expectedAgentPubkey?: string; plaintext?: string; blindingFactor?: string }
110
+ ): ReceiptVerificationResult;
111
+
112
+ export interface ErasureReceipt {
113
+ schema: string;
114
+ version: number;
115
+ erasure_id: string;
116
+ agent_id: string;
117
+ scope: string;
118
+ erased_memory_count: number;
119
+ pre_erasure_root: string;
120
+ erasure_digest: string;
121
+ storage_wiped?: boolean;
122
+ timestamp: string;
123
+ agent_pubkey: string;
124
+ signature: string;
125
+ metadata?: Record<string, unknown>;
126
+ }
127
+
128
+ export type ErasureAttestation = ErasureReceipt;
129
+
130
+ export interface ErasureVerificationResult {
131
+ ok: boolean;
132
+ verified: boolean;
133
+ erasure_id: string;
134
+ agent_id: string;
135
+ signatureValid: boolean;
136
+ digestValid?: boolean;
137
+ errors: string[];
138
+ }
139
+
140
+ export declare const ERASURE_RECEIPT_SCHEMA: string;
141
+ export declare const ERASURE_ATTESTATION_SCHEMA: string;
142
+
143
+ export declare function secureZeroizeBuffer(buffer: Buffer): void;
144
+
145
+ export declare function getErasureSignablePayload(receipt: Partial<ErasureReceipt>): string;
146
+
147
+ export declare function createErasureReceipt(params: {
148
+ agentId: string;
149
+ scope: string;
150
+ erasedMemoryCount: number;
151
+ preErasureRoot: string;
152
+ activeCommitments?: string[];
153
+ storageWiped?: boolean;
154
+ signingSecretKey: Buffer | string;
155
+ signingPublicKey: Buffer | string;
156
+ metadata?: Record<string, unknown>;
157
+ }): ErasureReceipt;
158
+
159
+ export declare function createErasureAttestation(params: {
160
+ agentId: string;
161
+ scope: string;
162
+ erasedMemoryCount: number;
163
+ preErasureRoot: string;
164
+ activeCommitments?: string[];
165
+ storageWiped?: boolean;
166
+ signingSecretKey: Buffer | string;
167
+ signingPublicKey: Buffer | string;
168
+ metadata?: Record<string, unknown>;
169
+ }): ErasureReceipt;
170
+
171
+ export declare function verifyErasureReceipt(
172
+ receipt: ErasureReceipt,
173
+ options?: { expectedAgentPubkey?: string; expectedCommitments?: string[] }
174
+ ): ErasureVerificationResult;
175
+
176
+ export declare function verifyErasureAttestation(
177
+ receipt: ErasureReceipt,
178
+ options?: { expectedAgentPubkey?: string; expectedCommitments?: string[] }
179
+ ): ErasureVerificationResult;
180
+ export interface ContentKeyEpoch {
181
+ epoch: number;
182
+ key_id: string;
183
+ status: 'active' | 'retained' | 'sealed';
184
+ created_at: string;
185
+ sealed_at?: string;
186
+ key?: Buffer | string;
187
+ key_b64?: string;
188
+ }
189
+
190
+ export interface VaultOptions {
191
+ passphrase?: string;
192
+ vaultKey?: Buffer | string;
193
+ vault_key?: Buffer | string;
194
+ addressKey?: Buffer | string;
195
+ address_key?: Buffer | string;
196
+ keyId?: string;
197
+ key_id?: string;
198
+ keyEpochs?: ContentKeyEpoch[];
199
+ key_epochs?: ContentKeyEpoch[];
200
+ activeKeyEpoch?: number;
201
+ active_key_epoch?: number;
202
+ allowOldEpochReads?: boolean;
203
+ allow_old_epoch_reads?: boolean;
204
+ kdf?: KdfSpec;
205
+ now?: string | Date;
206
+ vault_id?: string;
207
+ tenant_id?: string;
208
+ subject_id?: string;
209
+ actor_id?: string;
210
+ policy_id?: string;
211
+ signingKeyPair?: unknown;
212
+ signer?: { key_id: string; alg: string };
213
+ }
214
+
215
+ export interface VaultRoots {
216
+ active_set_root: string;
217
+ quarantine_set_root: string;
218
+ tombstone_set_root: string;
219
+ receipt_log_root: string;
220
+ lifecycle_root: string;
221
+ }
222
+
223
+ export interface VaultInstance extends VaultRoots {
224
+ schema: string;
225
+ vault_id: string;
226
+ tenant_id: string;
227
+ subject_id: string;
228
+ actor_id: string;
229
+ policy_id: string;
230
+ key_id: string;
231
+ activeKeyEpoch: number;
232
+ keyEpochs: Map<number, ContentKeyEpoch & { key: Buffer }>;
233
+ allowOldEpochReads: boolean;
234
+ vaultKey: Buffer;
235
+ addressKey: Buffer;
236
+ signingKeyPair: unknown;
237
+ signer: { key_id: string; alg: string };
238
+ created_at: string;
239
+ updated_at: string;
240
+ sequence: number;
241
+ memories: Map<string, MemoryObject>;
242
+ events: unknown[];
243
+ receipts: unknown[];
244
+ activeAddresses: Set<string>;
245
+ tombstones: Map<string, unknown>;
246
+ __getRecord(memoryAddr: string): MemoryObject | undefined;
247
+ __getPlaintext(memoryAddr: string): string;
248
+ __computeRoots(): VaultRoots;
249
+ }
250
+
251
+ export interface MemoryObject {
252
+ schema: string;
253
+ memory_id: string;
254
+ memory_addr: string;
255
+ subject_id: string;
256
+ kind: string;
257
+ key_epoch: number;
258
+ key_id: string;
259
+ content_ciphertext: {
260
+ alg: 'AES-256-GCM';
261
+ iv: string;
262
+ aad: string;
263
+ ciphertext: string;
264
+ tag: string;
265
+ };
266
+ content_commitment: string;
267
+ state: 'active' | 'superseded' | 'tombstoned';
268
+ created_at: string;
269
+ updated_at: string;
270
+ [key: string]: unknown;
271
+ }
272
+
273
+ export interface VaultOperationResult {
274
+ memory?: MemoryObject;
275
+ memory_addr: string;
276
+ event: unknown;
277
+ receipt: unknown;
278
+ }
279
+
280
+ export interface VaultBundle {
281
+ schema: 'enigma.vault_bundle.v1';
282
+ exported_at: string;
283
+ vault: Record<string, unknown>;
284
+ keyring: Record<string, unknown>;
285
+ memory_objects: MemoryObject[];
286
+ active_memory_addresses: string[];
287
+ tombstones: unknown[];
288
+ events: unknown[];
289
+ receipts: unknown[];
290
+ export_receipt: unknown;
291
+ }
292
+
293
+ export declare const VAULT_SCHEMA: string;
294
+ export declare const VAULT_BUNDLE_SCHEMA: string;
295
+ export declare const MEMORY_OBJECT_SCHEMA: string;
296
+ export declare const EVENT_SCHEMA: string;
297
+ export declare const KEYRING_ENCRYPTED_TYPE: 'local_secret_encrypted';
298
+ export declare const KEYRING_PLAINTEXT_TYPE: 'local_secret';
299
+
300
+ export declare function createVault(args?: VaultOptions): VaultInstance;
301
+
302
+ export declare function remember(args: {
303
+ vault: VaultInstance;
304
+ content?: string;
305
+ text?: string;
306
+ plaintext?: string;
307
+ memory_id?: string;
308
+ memoryId?: string;
309
+ key_epoch?: number;
310
+ keyEpoch?: number;
311
+ importance?: number;
312
+ kind?: string;
313
+ purpose_tags?: string[];
314
+ metadata?: Record<string, unknown>;
315
+ now?: string | Date;
316
+ }): VaultOperationResult & { memory: MemoryObject };
317
+
318
+ export declare function recall(args: {
319
+ vault: VaultInstance;
320
+ memory_addr?: string;
321
+ memoryAddr?: string;
322
+ purpose?: string;
323
+ operation?: string;
324
+ now?: string | Date;
325
+ }): VaultOperationResult & { memory: MemoryObject & { content: string }; content: string };
326
+
327
+ export declare function updateMemory(args: {
328
+ vault: VaultInstance;
329
+ memory_addr?: string;
330
+ memoryAddr?: string;
331
+ content?: string;
332
+ text?: string;
333
+ plaintext?: string;
334
+ key_epoch?: number;
335
+ keyEpoch?: number;
336
+ metadata?: Record<string, unknown>;
337
+ now?: string | Date;
338
+ }): VaultOperationResult & { old_memory_addr: string; memory: MemoryObject; tombstone: unknown };
339
+
340
+ export declare function deleteMemory(args: {
341
+ vault: VaultInstance;
342
+ memory_addr?: string;
343
+ memoryAddr?: string;
344
+ reason?: string;
345
+ now?: string | Date;
346
+ }): VaultOperationResult & { tombstone: unknown };
347
+
348
+ export declare function rotateContentKey(args: {
349
+ vault: VaultInstance;
350
+ key?: Buffer | string;
351
+ key_id?: string;
352
+ keyId?: string;
353
+ now?: string | Date;
354
+ }): Record<string, unknown> & { epoch: number; key_id: string; receipt: unknown };
355
+
356
+ export declare function sealContentKeyEpoch(args: {
357
+ vault: VaultInstance;
358
+ epoch?: number;
359
+ now?: string | Date;
360
+ }): Record<string, unknown> & { epoch: number; key_id: string; receipt: unknown };
361
+
362
+ export declare function resetVaultContentKeys(args: {
363
+ vault: VaultInstance;
364
+ key?: Buffer | string;
365
+ key_id?: string;
366
+ keyId?: string;
367
+ now?: string | Date;
368
+ }): Record<string, unknown> & { epoch: number; key_id: string; receipt: unknown };
369
+
370
+ export declare function exportBundle(args: {
371
+ vault: VaultInstance;
372
+ passphrase?: string;
373
+ kdf?: KdfSpec;
374
+ now?: string | Date;
375
+ }): VaultBundle;
376
+
377
+ export declare function importBundle(args: {
378
+ bundle: VaultBundle | string;
379
+ passphrase?: string;
380
+ strict?: boolean;
381
+ insecureDevMode?: boolean;
382
+ allowOldEpochReads?: boolean;
383
+ recordImport?: boolean;
384
+ }): {
385
+ vault: VaultInstance;
386
+ active_memory_addresses: string[];
387
+ tombstones: unknown[];
388
+ warnings: string[];
389
+ verified: boolean;
390
+ };
391
+
392
+ export declare function canonicalKeyringAad(meta?: Record<string, unknown>): Buffer;
393
+ export declare function decryptKeyring(keyring: Record<string, unknown>, passphrase: string): Record<string, unknown>;
394
+
395
+ export interface VaultMonotonicHead {
396
+ schema: string;
397
+ vault_id: string;
398
+ sequence: number;
399
+ bundle_revision: string;
400
+ receipt_hash: string | null;
401
+ trust_domain: string;
402
+ updated_at: string;
403
+ }
404
+
405
+ export interface VaultCheckpointProvider {
406
+ load(input: { path: string; vault_id?: string }): Promise<VaultMonotonicHead | null> | VaultMonotonicHead | null;
407
+ advance(input: {
408
+ path: string;
409
+ previous: VaultMonotonicHead | null;
410
+ next: VaultMonotonicHead;
411
+ }): Promise<boolean | void> | boolean | void;
412
+ }
413
+
414
+ export interface VaultPersistenceOptions {
415
+ expectedRevision?: string | null;
416
+ minimumSequence?: number;
417
+ requireMonotonicHead?: boolean;
418
+ requireExternalCheckpoint?: boolean;
419
+ checkpointProvider?: VaultCheckpointProvider;
420
+ resetMonotonicHead?: boolean;
421
+ lockOptions?: { timeoutMs?: number; staleLockMs?: number };
422
+ }
423
+
424
+ export declare function monotonicHeadPath(path: string): string;
425
+
426
+ export declare function withBundleFileLock<T>(
427
+ path: string,
428
+ operation: () => Promise<T> | T,
429
+ options?: { timeoutMs?: number; staleLockMs?: number }
430
+ ): Promise<T>;
431
+
432
+ export declare function readJsonFileWithRevision(path: string, options?: VaultPersistenceOptions): Promise<{
433
+ value: unknown;
434
+ revision: string;
435
+ raw: string;
436
+ localHead: VaultMonotonicHead | null;
437
+ externalHead: VaultMonotonicHead | null;
438
+ }>;
439
+
440
+ export declare function readFileRevision(path: string): Promise<{
441
+ revision: string;
442
+ raw: Buffer;
443
+ }>;
444
+
445
+ export declare function writeJsonFileAtomic(
446
+ path: string,
447
+ value: unknown,
448
+ options?: VaultPersistenceOptions
449
+ ): Promise<{ revision: string; bytes: number; head: VaultMonotonicHead | null }>;
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "@enigma/vault",
3
+ "version": "0.1.22",
4
+ "description": "Enigma Encrypted Vault: Fail-Closed Sovereign AI Memory Custody with AES-256-GCM and PBKDF2/scrypt",
5
+ "type": "module",
6
+ "main": "src/index.js",
7
+ "types": "./index.d.ts",
8
+ "files": [
9
+ "src/",
10
+ "index.d.ts"
11
+ ],
12
+ "exports": {
13
+ ".": {
14
+ "types": "./index.d.ts",
15
+ "import": "./src/index.js",
16
+ "default": "./src/index.js"
17
+ }
18
+ },
19
+ "dependencies": {
20
+ "@enigma/core": "workspace:*",
21
+ "@hpke/chacha20poly1305": "^1.8.0",
22
+ "@hpke/core": "^1.9.0",
23
+ "@noble/ciphers": "^2.3.0",
24
+ "@noble/curves": "^1.9.0",
25
+ "circomlibjs": "^0.1.7"
26
+ }
27
+ }