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,49 @@
1
+ // Example 1: Autonomous Agent Sovereign Memory Quickstart
2
+ import { Enigma } from '../../packages/sdk/src/index.js';
3
+
4
+ async function main() {
5
+ console.log('--- [Step 1] Connecting Autonomous Agent to Sovereign Memory ---');
6
+ const enigma = await Enigma.connect({
7
+ scope: 'agent.solana_trader',
8
+ passphrase: 'demo_developer_passphrase_2026',
9
+ storagePath: './agent_vault.enc.json',
10
+ });
11
+ console.log('✓ Agent connected:', enigma.status());
12
+
13
+ console.log('\n--- [Step 2] Storing Confidential Project Directives ---');
14
+ await enigma.remember('Risk Directive: Always enforce 0.5% maximum slippage on Jupiter DEX swaps', {
15
+ importance: 1.0,
16
+ metadata: { category: 'risk_management', priority: 'critical' },
17
+ });
18
+ await enigma.remember('Routing Directive: Fragment large swap orders (>100 SOL) across Orca and Raydium pools', {
19
+ importance: 0.8,
20
+ metadata: { category: 'execution', priority: 'high' },
21
+ });
22
+ await enigma.remember('General Rule: Never leak raw private keys, wallet seed phrases, or unencrypted memory', {
23
+ scope: 'enigma.global',
24
+ importance: 1.0,
25
+ });
26
+ console.log(`✓ Stored ${enigma.status().memoryCount} memory atoms in sovereign encrypted custody`);
27
+
28
+ console.log('\n--- [Step 3] Semantic Vector Context Recall ---');
29
+ const query = 'What are the rules for swap slippage and order routing?';
30
+ console.log(`Agent Query: "${query}"`);
31
+ const memories = await enigma.recall(query, { topK: 2 });
32
+
33
+ memories.forEach((mem, idx) => {
34
+ console.log(` [Match #${idx + 1}] (${Math.round(mem.score * 100)}% match) [${mem.scope}]: ${mem.text}`);
35
+ });
36
+
37
+ console.log('\n--- [Step 4] Compiling Token-Budgeted Prompt Context Pack ---');
38
+ const pack = await enigma.getContextPack(query, { maxTokens: 500 });
39
+ console.log(`✓ Compiled context pack (${pack.estimatedTokens} tokens):\n`);
40
+ console.log(pack.contextText);
41
+
42
+ console.log('\n--- [Step 5] Cleaning Up ---');
43
+ // Optional cleanup of demo file
44
+ const fs = await import('node:fs');
45
+ if (fs.existsSync('./agent_vault.enc.json')) fs.unlinkSync('./agent_vault.enc.json');
46
+ console.log('✓ Quickstart completed successfully!');
47
+ }
48
+
49
+ main().catch(console.error);
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Example 01: Agent Memory Quickstart
3
+ * Demonstrates local vault creation, storing memory with tags,
4
+ * recalling context, and verifying the cryptographic receipt.
5
+ */
6
+
7
+ import { createVault, remember, recall, exportBundle } from '../packages/vault/src/index.js';
8
+
9
+ console.log('=== Enigma Agent Memory Quickstart ===\n');
10
+
11
+ // 1. Initialize local vault
12
+ const vault = createVault({
13
+ tenant_id: 'agent_sandbox',
14
+ policy_id: 'strict_local_v1',
15
+ subject_id: 'agent_007',
16
+ });
17
+
18
+ console.log('1. Initialized local vault:');
19
+ console.log(' - Tenant: ', vault.tenant_id);
20
+ console.log(' - Policy: ', vault.policy_id);
21
+ console.log(' - Vault Address: ', vault.addressKey ? 'Configured (AES-256)' : 'Unset', '\n');
22
+
23
+ // 2. Store technical context
24
+ const mem1 = await remember({
25
+ vault,
26
+ text: 'Solana Anchor micro-escrow smart contracts settle in slot window < 400ms.',
27
+ purpose: 'agent_trading_strategy',
28
+ tags: ['solana', 'anchor', 'escrow', 'defi'],
29
+ importance: 0.95,
30
+ });
31
+
32
+ console.log('2. Stored memory atom:');
33
+ console.log(' - Memory Address:', mem1.memory_addr);
34
+ console.log(' - Receipt ID: ', mem1.receipt.receipt_id);
35
+ console.log(' - Operation: ', mem1.receipt.operation);
36
+ console.log(' - Signer Key ID: ', mem1.receipt.signer.key_id, '\n');
37
+
38
+ // 3. Recall memory by address
39
+ const recalled = await recall({
40
+ vault,
41
+ memory_addr: mem1.memory_addr,
42
+ purpose: 'agent_decision_inference',
43
+ });
44
+
45
+ console.log('3. Recalled memory:');
46
+ console.log(' - Decrypted Content: ', recalled.content);
47
+ console.log(' - Read Receipt ID: ', recalled.receipt.receipt_id);
48
+ console.log(' - Read Log Root: ', recalled.receipt.receipt_log_root.slice(0, 32) + '...\n');
49
+
50
+ // 4. Export proof bundle
51
+ const bundle = await exportBundle({ vault });
52
+ console.log('4. Exported proof bundle:');
53
+ console.log(' - Total active memories: ', bundle.active_memory_addresses.length);
54
+ console.log(' - Total receipts in audit log: ', bundle.receipts.length);
55
+ console.log(' - Vault Active Set Root: ', bundle.vault.active_set_root.slice(0, 32) + '...');
56
+
57
+ console.log('\n✔ All quickstart operations succeeded with signed cryptographic receipts!');
@@ -0,0 +1,57 @@
1
+ // Example 2: Multi-Agent Sovereign Memory Swarm Orchestration
2
+ import { EnigmaSwarmOrchestrator } from '../../packages/sdk/src/index.js';
3
+
4
+ async function main() {
5
+ console.log('--- [Step 1] Initializing Swarm Orchestrator ---');
6
+ const swarm = new EnigmaSwarmOrchestrator({
7
+ swarmId: 'alpha_swarm_2026',
8
+ passphrase: 'swarm_master_passphrase',
9
+ });
10
+
11
+ // Listen to swarm-wide events
12
+ swarm.on('agent:registered', (evt) => {
13
+ console.log(`[EVENT] Registered Agent: ${evt.agentId} (Role: ${evt.role}, Scope: ${evt.scope})`);
14
+ });
15
+ swarm.on('signal:dispatched', (evt) => {
16
+ console.log(`[EVENT] Signal Dispatched: ${evt.senderAgentId} -> ${evt.targetAgentId} (Routed: ${evt.routed})`);
17
+ });
18
+
19
+ console.log('\n--- [Step 2] Spawning Autonomous Agent Team ---');
20
+ const coordinator = await swarm.registerAgent('coordinator_agent', {
21
+ role: 'coordinator',
22
+ permissions: ['read', 'write', 'broadcast'],
23
+ });
24
+ const trader = await swarm.registerAgent('solana_trader', {
25
+ role: 'trader',
26
+ permissions: ['read', 'write'],
27
+ });
28
+ const auditor = await swarm.registerAgent('security_auditor', {
29
+ role: 'auditor',
30
+ permissions: ['read'],
31
+ });
32
+
33
+ console.log('\nSwarm Topology:');
34
+ console.log(JSON.stringify(swarm.getTopology(), null, 2));
35
+
36
+ console.log('\n--- [Step 3] Synchronizing Swarm-Wide Protocol Rules ---');
37
+ await swarm.syncGlobalRule('Swarm Consensus Rule 1: Always verify zero-knowledge proofs before state transition');
38
+ console.log('✓ Rule synchronized across all swarm agents with write permissions');
39
+
40
+ console.log('\n--- [Step 4] Dispatching Encrypted Coordination Signals ---');
41
+ await swarm.dispatchSignal(
42
+ 'coordinator_agent',
43
+ 'solana_trader',
44
+ 'DISPATCH_ORDER: Execute 15 SOL buy on Raydium with max 0.25% slippage'
45
+ );
46
+
47
+ console.log('\n--- [Step 5] Recalling Swarm Knowledge from Trader Agent ---');
48
+ const traderRecall = await trader.recall('Swarm Consensus Rule');
49
+ console.log(`Trader recalled ${traderRecall.length} global consensus rules:`);
50
+ traderRecall.forEach(r => console.log(` - [${r.scope}] ${r.text}`));
51
+
52
+ console.log('\n--- [Step 6] Shutting Down Swarm ---');
53
+ await swarm.shutdown();
54
+ console.log('✓ Swarm shutdown complete!');
55
+ }
56
+
57
+ main().catch(console.error);
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Example 02: Cross-Model Memory Passport
3
+ * Demonstrates creating a portable passport bundle and compiling
4
+ * scoped context packs for downstream AI model injection.
5
+ */
6
+
7
+ import { createVault, remember } from '../packages/vault/src/index.js';
8
+ import { createPassport, compileContextPack } from '../packages/passport/src/index.js';
9
+
10
+ console.log('=== Enigma Cross-Model Memory Passport ===\n');
11
+
12
+ // 1. Setup vault with cross-domain knowledge
13
+ const vault = createVault({
14
+ subject_id: 'developer_101',
15
+ policy_id: 'cross_model_passport_v1',
16
+ });
17
+
18
+ await remember({
19
+ vault,
20
+ text: 'Always write TypeScript with strict types and zero any.',
21
+ tags: ['typescript', 'coding_standards'],
22
+ importance: 1.0,
23
+ });
24
+
25
+ await remember({
26
+ vault,
27
+ text: 'Production API endpoints use rate limiting of 100 req/min per IP.',
28
+ tags: ['api', 'architecture', 'security'],
29
+ importance: 0.85,
30
+ });
31
+
32
+ // 2. Create standardized Memory Passport
33
+ const passport = createPassport({
34
+ vault,
35
+ passport_id: 'passport_dev_101',
36
+ owner: {
37
+ subject_id: 'developer_101',
38
+ display_name: 'Lead AI Engineer',
39
+ },
40
+ });
41
+
42
+ console.log('1. Generated Standard Memory Passport:');
43
+ console.log(' - Schema: ', passport.schema);
44
+ console.log(' - Passport ID: ', passport.passport_id);
45
+ console.log(' - Owner Subject: ', passport.owner.subject_id);
46
+ console.log(' - Active Set Root: ', passport.vault.active_set_root.slice(0, 32) + '...');
47
+ console.log(' - Active Addresses:', passport.active_memory_addresses.length, 'atoms\n');
48
+
49
+ // 3. Compile scoped context pack for model consumption
50
+ const contextPack = await compileContextPack({
51
+ vault,
52
+ passport,
53
+ query: 'TypeScript guidelines',
54
+ purpose: 'code_generation_prompt',
55
+ max_estimated_tokens: 500,
56
+ });
57
+
58
+ console.log('2. Compiled Scoped Context Pack:');
59
+ console.log(' - Context Pack ID: ', contextPack.context_pack_id);
60
+ console.log(' - Memories included:', contextPack.memories.length);
61
+ console.log(' - Model Target: ', contextPack.model);
62
+ console.log(' - Active Set Root: ', contextPack.active_set_root.slice(0, 32) + '...');
63
+
64
+ console.log('\n✔ Successfully created portable passport and compiled scoped context pack!');
@@ -0,0 +1,41 @@
1
+ // Example 3: LangChain Sovereign Memory Integration
2
+ import { Enigma, EnigmaLangChainMemory } from '../../packages/sdk/src/index.js';
3
+
4
+ async function main() {
5
+ console.log('--- [Step 1] Connecting Enigma Agent Instance ---');
6
+ const enigma = await Enigma.connect({
7
+ scope: 'langchain.assistant',
8
+ passphrase: 'langchain_demo_passphrase',
9
+ });
10
+
11
+ // Pre-seed agent with domain knowledge
12
+ await enigma.remember('System Guidelines: The assistant always answers in concise technical bullet points.');
13
+ await enigma.remember('User Preference: The user prefers TypeScript over Python for smart contract bridges.');
14
+
15
+ console.log('\n--- [Step 2] Initializing EnigmaLangChainMemory Adapter ---');
16
+ const memory = new EnigmaLangChainMemory({
17
+ enigma,
18
+ memoryKey: 'chat_history',
19
+ maxTokens: 1000,
20
+ });
21
+
22
+ console.log('\n--- [Step 3] Loading Memory Variables for Incoming Prompt ---');
23
+ const memoryVars = await memory.loadMemoryVariables({
24
+ input: 'What language should we use for our contract bridge?',
25
+ });
26
+ console.log('Loaded Context for LLM System Prompt:\n', memoryVars.chat_history);
27
+
28
+ console.log('\n--- [Step 4] Saving Conversational Dialogue Turn ---');
29
+ await memory.saveContext(
30
+ { input: 'What language should we use for our contract bridge?' },
31
+ { output: 'We should use TypeScript based on your configured project preference.' }
32
+ );
33
+ console.log('✓ Dialogue turn saved to sovereign encrypted memory');
34
+
35
+ console.log('\n--- [Step 5] Recalling Conversation History ---');
36
+ const recallResults = await enigma.recall('contract bridge language preference');
37
+ console.log('Recall Results:');
38
+ recallResults.forEach(r => console.log(` [${r.score * 100}% match]: ${r.text}`));
39
+ }
40
+
41
+ main().catch(console.error);
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Example 03: Poseidon Commitment & Enclave Zeroization
3
+ * Demonstrates canonical Circomlib Poseidon hashing, generating algebraic
4
+ * commitments, zeroizing keys in hardware enclave simulation, and verifying attestations.
5
+ */
6
+
7
+ import {
8
+ poseidon,
9
+ createPoseidonCommitment,
10
+ verifyPoseidonCommitment,
11
+ SimulatedEnclaveProvider,
12
+ AttestationVerifier,
13
+ } from '../packages/vault/src/index.js';
14
+
15
+ console.log('=== Enigma Poseidon & Enclave Zeroization ===\n');
16
+
17
+ // 1. Canonical Circomlib Poseidon Hash
18
+ const input1 = 1n;
19
+ const input2 = 2n;
20
+ const hashOutput = poseidon([input1, input2]);
21
+
22
+ console.log('1. Canonical Poseidon Hash for [1, 2]:');
23
+ console.log(' - Output BigInt:', hashOutput.toString());
24
+ console.log(' - Output Hex: ', '0x' + hashOutput.toString(16));
25
+ console.log(' - Circomlib Match:', hashOutput.toString(16) === '115cc0f5e7d690413df64c6b9662e9cf2a3617f2743245519e19607a4417189a', '\n');
26
+
27
+ // 2. Algebraic Commitment
28
+ const recordKey = '0x4a81f3e9c2049182393278913988636902269926943896585145788461521946';
29
+ const { commitment, salt } = createPoseidonCommitment(recordKey);
30
+
31
+ console.log('2. Generated Algebraic Poseidon Commitment:');
32
+ console.log(' - Commitment C:', commitment);
33
+ console.log(' - Salt (CSPRNG):', salt);
34
+ console.log(' - Verified: ', verifyPoseidonCommitment(commitment, recordKey, salt), '\n');
35
+
36
+ // 3. Hardware Enclave Key Zeroization
37
+ const enclave = new SimulatedEnclaveProvider({ simulationLabel: 'enigma_example' });
38
+ const secretRecord = await enclave.createRecord('CONFIDENTIAL_HEALTH_DATA_123', { tag: 'biomed' });
39
+
40
+ console.log('3. Stored Encrypted Record in Enclave:');
41
+ console.log(' - Record ID: ', secretRecord.recordId);
42
+ console.log(' - Commitment: ', secretRecord.commitment);
43
+ console.log(' - Ciphertext: ', secretRecord.ciphertext.slice(0, 32) + '...\n');
44
+
45
+ // Decrypt while active
46
+ const decrypted = await enclave.decryptRecord(
47
+ secretRecord.recordId,
48
+ secretRecord.ciphertext,
49
+ secretRecord.iv,
50
+ secretRecord.authTag
51
+ );
52
+ console.log('4. Decrypted while active:', decrypted);
53
+
54
+ // Zeroize key in memory
55
+ const attestation = await enclave.zeroizeRecord(secretRecord.recordId);
56
+ console.log('5. Zeroized key in enclave:');
57
+ console.log(' - Action: ', attestation.payload.action);
58
+ console.log(' - Nullifier Hash:', attestation.payload.nullifierHash);
59
+ console.log(' - Signed Quote: ', attestation.signature.slice(0, 32) + '...\n');
60
+
61
+ // Verify attestation
62
+ const verifyResult = AttestationVerifier.verify(attestation, {
63
+ allowSimulated: true,
64
+ allowlistedSimulatedKeyPem: enclave.publicKeyPem,
65
+ });
66
+
67
+ console.log('6. Verified Deletion Attestation:');
68
+ console.log(' - Valid: ', verifyResult.valid);
69
+ console.log(' - Nullifier Hash:', verifyResult.nullifierHash);
70
+
71
+ console.log('\n✔ All Poseidon commitments and enclave zeroizations verified successfully!');
@@ -0,0 +1,49 @@
1
+ """
2
+ Example 4: Python Autonomous Solana Trading Agent with Enigma Sovereign Memory
3
+ """
4
+ import sys
5
+ import os
6
+ from enigma_sdk import EnigmaPythonSDK
7
+
8
+ def main():
9
+ print("--- [Step 1] Connecting Python Trading Agent to Sovereign Vault ---")
10
+ vault_file = os.path.abspath("./trader_vault.enc.json")
11
+ passphrase = "trader_secret_passphrase_2026"
12
+
13
+ trader = EnigmaPythonSDK.connect(
14
+ scope="agent.solana_arb",
15
+ storage_path=vault_file,
16
+ passphrase=passphrase
17
+ )
18
+ print(f"✓ Connected Python Agent: {trader.status()}")
19
+
20
+ print("\n--- [Step 2] Storing Trading Execution Rules in Encrypted Vault ---")
21
+ trader.remember("Arbitrage Directive: Minimum profit threshold is 18 bps net of priority fees", importance=1.0)
22
+ trader.remember("Execution Rule: Route DEX swaps via Jupiter aggregator to minimize price impact", importance=0.9)
23
+ trader.remember("Risk Limit: Maximum daily portfolio exposure is capped at 50 SOL", importance=1.0)
24
+ print(f"✓ Stored {len(trader._local_memories)} memory atoms encrypted at rest")
25
+
26
+ print("\n--- [Step 3] Recalling Trading Directives Before Execution ---")
27
+ query = "What is our minimum profit threshold for arbitrage swaps?"
28
+ print(f"Query: '{query}'")
29
+ results = trader.recall(query, top_k=2)
30
+ for idx, r in enumerate(results):
31
+ print(f" [Match #{idx + 1}] (Score: {r['score']}) [{r['scope']}]: {r['text']}")
32
+
33
+ print("\n--- [Step 4] Simulating Agent Restart ---")
34
+ trader_restart = EnigmaPythonSDK.connect(
35
+ scope="agent.solana_arb",
36
+ storage_path=vault_file,
37
+ passphrase=passphrase
38
+ )
39
+ recalled_after_restart = trader_restart.recall("portfolio exposure limits", top_k=1)
40
+ if recalled_after_restart:
41
+ print(f"✓ Successfully recalled across session restart: {recalled_after_restart[0]['text']}")
42
+
43
+ # Cleanup demo file
44
+ if os.path.exists(vault_file):
45
+ os.remove(vault_file)
46
+ print("✓ Python Trader Example completed successfully!")
47
+
48
+ if __name__ == "__main__":
49
+ main()
@@ -0,0 +1,27 @@
1
+ # Enigma Sovereign AI Memory — Developer Examples
2
+
3
+ Runnable developer examples demonstrating the **Enigma Sovereign AI Memory Architecture**, including TypeScript SDK, Python client, Multi-Agent Swarms, and LangChain memory adapters.
4
+
5
+ ---
6
+
7
+ ### Examples Directory
8
+
9
+ 1. **`01-quickstart-agent`**: 3-line quickstart connecting an autonomous agent, storing encrypted directives, performing vector recall, and compiling token-budgeted prompt context.
10
+ ```bash
11
+ node examples/01-quickstart-agent/index.mjs
12
+ ```
13
+
14
+ 2. **`02-multi-agent-swarm`**: Multi-agent team orchestration using `EnigmaSwarmOrchestrator` with Role-Based Access Control (RBAC), global rule consensus, and encrypted GhostMesh signal dispatching.
15
+ ```bash
16
+ node examples/02-multi-agent-swarm/index.mjs
17
+ ```
18
+
19
+ 3. **`03-langchain-memory`**: Using `EnigmaLangChainMemory` to connect LangChain conversational chains directly to sovereign encrypted custody.
20
+ ```bash
21
+ node examples/03-langchain-memory/index.mjs
22
+ ```
23
+
24
+ 4. **`04-python-trading-agent`**: Python autonomous trading agent remembering on-chain liquidity constraints and risk parameters with AES-256-GCM encrypted persistence.
25
+ ```bash
26
+ PYTHONPATH=packages/sdk/python python examples/04-python-trading-agent/trader.py
27
+ ```
@@ -21,6 +21,9 @@ jobs:
21
21
  runs-on: ubuntu-latest
22
22
  permissions:
23
23
  contents: read
24
+ env:
25
+ # Deterministic, disposable CI-only credential; never reuse for real data.
26
+ ENIGMA_PASSPHRASE: enigma-ci-test-only-not-for-real-data
24
27
  steps:
25
28
  - name: Set up Node 24
26
29
  uses: actions/setup-node@v4
@@ -46,8 +49,10 @@ jobs:
46
49
 
47
50
  - name: Run public installer smoke path
48
51
  run: |
49
- npx enigma test-drive --dry-run
50
- npx enigma setup --overwrite
52
+ PASSPHRASE_FILE="$RUNNER_TEMP/enigma-ci-passphrase"
53
+ (umask 077; printf '%s\n' "$ENIGMA_PASSPHRASE" > "$PASSPHRASE_FILE")
54
+ npx enigma test-drive --dry-run --passphrase-file "$PASSPHRASE_FILE"
55
+ npx enigma setup --passphrase-file "$PASSPHRASE_FILE" --overwrite
51
56
  npx enigma doctor
52
57
  echo "Next client-connect preview: npx enigma connect <client> --dry-run"
53
58