@cortexmemory/cli 0.26.2 → 0.27.3

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 (90) hide show
  1. package/dist/commands/convex.js +1 -1
  2. package/dist/commands/convex.js.map +1 -1
  3. package/dist/commands/deploy.d.ts +1 -1
  4. package/dist/commands/deploy.d.ts.map +1 -1
  5. package/dist/commands/deploy.js +771 -144
  6. package/dist/commands/deploy.js.map +1 -1
  7. package/dist/commands/dev.d.ts.map +1 -1
  8. package/dist/commands/dev.js +210 -36
  9. package/dist/commands/dev.js.map +1 -1
  10. package/dist/commands/init.d.ts.map +1 -1
  11. package/dist/commands/init.js +273 -43
  12. package/dist/commands/init.js.map +1 -1
  13. package/dist/commands/setup.d.ts.map +1 -1
  14. package/dist/commands/setup.js +102 -46
  15. package/dist/commands/setup.js.map +1 -1
  16. package/dist/commands/status.d.ts.map +1 -1
  17. package/dist/commands/status.js +94 -7
  18. package/dist/commands/status.js.map +1 -1
  19. package/dist/index.js +1 -1
  20. package/dist/types.d.ts +23 -0
  21. package/dist/types.d.ts.map +1 -1
  22. package/dist/utils/app-template-sync.d.ts +95 -0
  23. package/dist/utils/app-template-sync.d.ts.map +1 -0
  24. package/dist/utils/app-template-sync.js +425 -0
  25. package/dist/utils/app-template-sync.js.map +1 -0
  26. package/dist/utils/config.d.ts +11 -0
  27. package/dist/utils/config.d.ts.map +1 -1
  28. package/dist/utils/config.js +20 -0
  29. package/dist/utils/config.js.map +1 -1
  30. package/dist/utils/deployment-selector.d.ts +21 -0
  31. package/dist/utils/deployment-selector.d.ts.map +1 -1
  32. package/dist/utils/deployment-selector.js +32 -0
  33. package/dist/utils/deployment-selector.js.map +1 -1
  34. package/dist/utils/init/graph-setup.d.ts.map +1 -1
  35. package/dist/utils/init/graph-setup.js +25 -2
  36. package/dist/utils/init/graph-setup.js.map +1 -1
  37. package/dist/utils/init/quickstart-setup.d.ts +87 -0
  38. package/dist/utils/init/quickstart-setup.d.ts.map +1 -0
  39. package/dist/utils/init/quickstart-setup.js +462 -0
  40. package/dist/utils/init/quickstart-setup.js.map +1 -0
  41. package/dist/utils/schema-sync.d.ts.map +1 -1
  42. package/dist/utils/schema-sync.js +27 -21
  43. package/dist/utils/schema-sync.js.map +1 -1
  44. package/package.json +3 -2
  45. package/templates/vercel-ai-quickstart/.env.local.example +45 -0
  46. package/templates/vercel-ai-quickstart/README.md +280 -0
  47. package/templates/vercel-ai-quickstart/app/api/auth/check/route.ts +30 -0
  48. package/templates/vercel-ai-quickstart/app/api/auth/login/route.ts +83 -0
  49. package/templates/vercel-ai-quickstart/app/api/auth/register/route.ts +94 -0
  50. package/templates/vercel-ai-quickstart/app/api/auth/setup/route.ts +59 -0
  51. package/templates/vercel-ai-quickstart/app/api/chat/route.ts +277 -0
  52. package/templates/vercel-ai-quickstart/app/api/conversations/route.ts +179 -0
  53. package/templates/vercel-ai-quickstart/app/api/facts/route.ts +39 -0
  54. package/templates/vercel-ai-quickstart/app/api/health/route.ts +99 -0
  55. package/templates/vercel-ai-quickstart/app/api/memories/route.ts +37 -0
  56. package/templates/vercel-ai-quickstart/app/globals.css +275 -0
  57. package/templates/vercel-ai-quickstart/app/layout.tsx +19 -0
  58. package/templates/vercel-ai-quickstart/app/page.tsx +216 -0
  59. package/templates/vercel-ai-quickstart/components/AdminSetup.tsx +139 -0
  60. package/templates/vercel-ai-quickstart/components/AuthProvider.tsx +283 -0
  61. package/templates/vercel-ai-quickstart/components/ChatHistorySidebar.tsx +323 -0
  62. package/templates/vercel-ai-quickstart/components/ChatInterface.tsx +334 -0
  63. package/templates/vercel-ai-quickstart/components/ConvexClientProvider.tsx +21 -0
  64. package/templates/vercel-ai-quickstart/components/DataPreview.tsx +57 -0
  65. package/templates/vercel-ai-quickstart/components/HealthStatus.tsx +214 -0
  66. package/templates/vercel-ai-quickstart/components/LayerCard.tsx +263 -0
  67. package/templates/vercel-ai-quickstart/components/LayerFlowDiagram.tsx +195 -0
  68. package/templates/vercel-ai-quickstart/components/LoginScreen.tsx +202 -0
  69. package/templates/vercel-ai-quickstart/components/MemorySpaceSwitcher.tsx +93 -0
  70. package/templates/vercel-ai-quickstart/convex/conversations.ts +67 -0
  71. package/templates/vercel-ai-quickstart/convex/facts.ts +131 -0
  72. package/templates/vercel-ai-quickstart/convex/health.ts +15 -0
  73. package/templates/vercel-ai-quickstart/convex/memories.ts +104 -0
  74. package/templates/vercel-ai-quickstart/convex/schema.ts +20 -0
  75. package/templates/vercel-ai-quickstart/convex/users.ts +105 -0
  76. package/templates/vercel-ai-quickstart/jest.config.js +45 -0
  77. package/templates/vercel-ai-quickstart/lib/animations.ts +146 -0
  78. package/templates/vercel-ai-quickstart/lib/cortex.ts +27 -0
  79. package/templates/vercel-ai-quickstart/lib/layer-tracking.ts +214 -0
  80. package/templates/vercel-ai-quickstart/lib/password.ts +120 -0
  81. package/templates/vercel-ai-quickstart/next.config.js +27 -0
  82. package/templates/vercel-ai-quickstart/package.json +46 -0
  83. package/templates/vercel-ai-quickstart/postcss.config.js +5 -0
  84. package/templates/vercel-ai-quickstart/tailwind.config.js +37 -0
  85. package/templates/vercel-ai-quickstart/tests/helpers/mock-cortex.ts +263 -0
  86. package/templates/vercel-ai-quickstart/tests/helpers/setup.ts +48 -0
  87. package/templates/vercel-ai-quickstart/tests/integration/auth.test.ts +455 -0
  88. package/templates/vercel-ai-quickstart/tests/integration/conversations.test.ts +461 -0
  89. package/templates/vercel-ai-quickstart/tests/unit/password.test.ts +228 -0
  90. package/templates/vercel-ai-quickstart/tsconfig.json +33 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quickstart-setup.js","sourceRoot":"","sources":["../../../src/utils/init/quickstart-setup.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema-sync.d.ts","sourceRoot":"","sources":["../../src/utils/schema-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAQH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oCAAoC;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,sCAAsC;IACtC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,0CAA0C;IAC1C,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,0CAA0C;IAC1C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAgGD;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;IACR,4CAA4C;IAC5C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qCAAqC;IACrC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wCAAwC;IACxC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GACA,OAAO,CAAC,gBAAgB,CAAC,CAwE3B;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,gBAAgB,EACxB,KAAK,CAAC,EAAE,OAAO,GACd,IAAI,CAwCN;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IAClE,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC,CASD"}
1
+ {"version":3,"file":"schema-sync.d.ts","sourceRoot":"","sources":["../../src/utils/schema-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAQH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oCAAoC;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,sCAAsC;IACtC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,0CAA0C;IAC1C,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,0CAA0C;IAC1C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AA4FD;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;IACR,4CAA4C;IAC5C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qCAAqC;IACrC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wCAAwC;IACxC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GACA,OAAO,CAAC,gBAAgB,CAAC,CA+E3B;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,gBAAgB,EACxB,KAAK,CAAC,EAAE,OAAO,GACd,IAAI,CAwCN;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IAClE,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC,CASD"}
@@ -12,32 +12,32 @@
12
12
  * This will use the schema files from that directory's convex-dev folder instead
13
13
  * of the installed @cortexmemory/sdk package.
14
14
  */
15
- import { existsSync, readFileSync } from "fs";
15
+ import { existsSync, readFileSync, readdirSync } from "fs";
16
16
  import { copyFile, mkdir } from "fs/promises";
17
17
  import { createHash } from "crypto";
18
18
  import { join, dirname } from "path";
19
19
  import pc from "picocolors";
20
20
  /**
21
- * Files to sync from SDK to project
22
- * These are the Convex backend files that define the schema and mutations
21
+ * Discover all syncable files from the SDK's convex-dev folder
22
+ * Includes all .ts files and tsconfig.json, excludes _generated/ directory
23
23
  */
24
- const SCHEMA_FILES = [
25
- "schema.ts",
26
- "a2a.ts",
27
- "admin.ts",
28
- "agents.ts",
29
- "contexts.ts",
30
- "conversations.ts",
31
- "facts.ts",
32
- "governance.ts",
33
- "graphSync.ts",
34
- "immutable.ts",
35
- "memories.ts",
36
- "memorySpaces.ts",
37
- "mutable.ts",
38
- "users.ts",
39
- "tsconfig.json",
40
- ];
24
+ function discoverSchemaFiles(sdkConvexPath) {
25
+ try {
26
+ const entries = readdirSync(sdkConvexPath, { withFileTypes: true });
27
+ return entries
28
+ .filter((entry) => {
29
+ // Skip directories (like _generated/)
30
+ if (entry.isDirectory())
31
+ return false;
32
+ // Include .ts files and tsconfig.json
33
+ return entry.name.endsWith(".ts") || entry.name === "tsconfig.json";
34
+ })
35
+ .map((entry) => entry.name);
36
+ }
37
+ catch {
38
+ return [];
39
+ }
40
+ }
41
41
  /**
42
42
  * Find the @cortexmemory/sdk package
43
43
  *
@@ -132,6 +132,12 @@ export async function syncConvexSchema(projectPath, options) {
132
132
  }
133
133
  result.sdkConvexPath = sdkConvexPath;
134
134
  result.sdkVersion = getSdkVersion(sdkPath);
135
+ // Discover all syncable files from SDK
136
+ const schemaFiles = discoverSchemaFiles(sdkConvexPath);
137
+ if (schemaFiles.length === 0) {
138
+ result.error = `No schema files found in ${sdkConvexPath}`;
139
+ return result;
140
+ }
135
141
  // Ensure project's convex folder exists
136
142
  if (!existsSync(result.projectConvexPath)) {
137
143
  if (!options?.dryRun) {
@@ -139,7 +145,7 @@ export async function syncConvexSchema(projectPath, options) {
139
145
  }
140
146
  }
141
147
  // Compare and sync each file
142
- for (const fileName of SCHEMA_FILES) {
148
+ for (const fileName of schemaFiles) {
143
149
  const sdkFilePath = join(sdkConvexPath, fileName);
144
150
  const projectFilePath = join(result.projectConvexPath, fileName);
145
151
  // Skip if SDK doesn't have this file
@@ -1 +1 @@
1
- {"version":3,"file":"schema-sync.js","sourceRoot":"","sources":["../../src/utils/schema-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-sync.js","sourceRoot":"","sources":["../../src/utils/schema-sync.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cortexmemory/cli",
3
- "version": "0.26.2",
3
+ "version": "0.27.3",
4
4
  "description": "CLI tool for managing Cortex Memory deployments, performing administrative tasks, and streamlining development workflows",
5
5
  "type": "module",
6
6
  "bin": {
@@ -14,7 +14,8 @@
14
14
  "README.md"
15
15
  ],
16
16
  "scripts": {
17
- "build": "tsc && chmod +x dist/index.js",
17
+ "prebuild": "node scripts/sync-quickstart-template.js",
18
+ "build": "npm run prebuild && tsc && chmod +x dist/index.js",
18
19
  "dev": "tsc --watch",
19
20
  "lint": "eslint . --report-unused-disable-directives",
20
21
  "test": "node --experimental-vm-modules $(npm root)/.bin/jest",
@@ -0,0 +1,45 @@
1
+ # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2
+ # Required Configuration
3
+ # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
4
+
5
+ # Your Convex deployment URL
6
+ # Get this from: https://dashboard.convex.dev
7
+ CONVEX_URL=https://your-project.convex.cloud
8
+
9
+ # OpenAI API Key for LLM and embeddings
10
+ # Get this from: https://platform.openai.com/api-keys
11
+ OPENAI_API_KEY=sk-...
12
+
13
+ # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
14
+ # Memory Space Configuration
15
+ # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
16
+
17
+ # Default memory space for the demo
18
+ MEMORY_SPACE_ID=quickstart-demo
19
+
20
+ # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
21
+ # Optional: Fact Extraction (SDK v0.18.0+)
22
+ # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
23
+
24
+ # Enable automatic LLM-powered fact extraction
25
+ CORTEX_FACT_EXTRACTION=true
26
+
27
+ # Model for fact extraction (default: gpt-4o-mini)
28
+ CORTEX_FACT_EXTRACTION_MODEL=gpt-4o-mini
29
+
30
+ # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
31
+ # Optional: Graph Database (SDK v0.19.0+)
32
+ # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
33
+
34
+ # Enable automatic graph sync
35
+ # CORTEX_GRAPH_SYNC=true
36
+
37
+ # Neo4j connection (choose one)
38
+ # NEO4J_URI=bolt://localhost:7687
39
+ # NEO4J_USERNAME=neo4j
40
+ # NEO4J_PASSWORD=your-password
41
+
42
+ # Or Memgraph connection
43
+ # MEMGRAPH_URI=bolt://localhost:7687
44
+ # MEMGRAPH_USERNAME=
45
+ # MEMGRAPH_PASSWORD=
@@ -0,0 +1,280 @@
1
+ # Cortex Memory + Vercel AI SDK Quickstart
2
+
3
+ This is the official quickstart demo for **Cortex Memory** with the **Vercel AI SDK**. It provides an interactive visualization of how data flows through the Cortex memory orchestration system in real-time.
4
+
5
+ > **SDK v0.24.0**: Now with **Belief Revision**! When users change their preferences (e.g., "I now prefer purple" after saying "I like blue"), Cortex intelligently updates or supersedes existing facts instead of creating duplicates.
6
+
7
+ ## Features
8
+
9
+ - 🧠 **Real-time Memory Visualization** - Watch data flow through all Cortex layers (Memory Space → User → Agent → Conversation → Vector → Facts → Graph)
10
+ - 💬 **Interactive Chat** - Send messages and see them processed with automatic memory storage
11
+ - 📊 **Layer Flow Diagram** - Animated visualization showing latency and data at each layer
12
+ - 🔀 **Memory Space Switching** - Demonstrate multi-tenant isolation by switching between memory spaces
13
+ - ⚡ **Streaming Support** - Full streaming with progressive fact extraction
14
+ - 🧹 **Belief Revision** - Intelligent fact updates when information changes (v0.24.0)
15
+ - 🔄 **Smart Fact Deduplication** - Semantic matching prevents duplicate facts across sessions (v0.22.0)
16
+
17
+ ## Prerequisites
18
+
19
+ - Node.js 18+
20
+ - A Convex deployment ([get started](https://www.convex.dev/))
21
+ - An OpenAI API key ([get one](https://platform.openai.com/api-keys))
22
+
23
+ ## Quick Start
24
+
25
+ ### Local Development (within monorepo)
26
+
27
+ 1. **Install dependencies**
28
+
29
+ ```bash
30
+ cd packages/vercel-ai-provider/quickstart
31
+ npm install
32
+ ```
33
+
34
+ > **Note**: The `package.json` uses `file:` references to link to the local SDK and provider packages. This allows you to test changes to the provider immediately.
35
+
36
+ ### Using Published Packages
37
+
38
+ If you want to use the published npm packages instead, update `package.json`:
39
+
40
+ ```json
41
+ {
42
+ "dependencies": {
43
+ "@cortexmemory/sdk": "^0.24.0",
44
+ "@cortexmemory/vercel-ai-provider": "^1.0.0"
45
+ // ... other deps
46
+ }
47
+ }
48
+ ```
49
+
50
+ 2. **Set up environment variables**
51
+
52
+ ```bash
53
+ cp .env.local.example .env.local
54
+ ```
55
+
56
+ Edit `.env.local` and add your credentials:
57
+
58
+ ```env
59
+ CONVEX_URL=https://your-project.convex.cloud
60
+ NEXT_PUBLIC_CONVEX_URL=https://your-project.convex.cloud
61
+ OPENAI_API_KEY=sk-...
62
+ ```
63
+
64
+ 3. **Deploy Convex schema**
65
+
66
+ ```bash
67
+ npm run convex:dev
68
+ ```
69
+
70
+ 4. **Start the development server**
71
+
72
+ ```bash
73
+ npm run dev
74
+ ```
75
+
76
+ 5. **Open the demo**
77
+
78
+ Visit [http://localhost:3000](http://localhost:3000) to see the demo in action.
79
+
80
+ ## What This Demo Shows
81
+
82
+ ### Memory Layer Orchestration
83
+
84
+ When you send a message, you'll see it flow through these layers:
85
+
86
+ | Layer | Description |
87
+ | ---------------- | ----------------------------------------------- |
88
+ | **Memory Space** | Isolated namespace for multi-tenancy |
89
+ | **User** | User profile and identity |
90
+ | **Agent** | AI agent participant (required in SDK v0.17.0+) |
91
+ | **Conversation** | Message storage with threading |
92
+ | **Vector** | Semantic embeddings for similarity search |
93
+ | **Facts** | Extracted structured information |
94
+ | **Graph** | Entity relationships (optional) |
95
+
96
+ ### Key Features Demonstrated
97
+
98
+ 1. **Belief Revision** - SDK v0.24.0 intelligently updates/supersedes facts when information changes
99
+ 2. **Unified Retrieval (recall)** - SDK v0.23.0 retrieves from vector + facts + graph in one call
100
+ 3. **agentId Requirement** - SDK v0.17.0+ requires `agentId` for all user-agent conversations
101
+ 4. **Automatic Fact Extraction** - LLM-powered extraction of preferences, identity, relationships
102
+ 5. **Semantic Fact Deduplication** - SDK v0.22.0 automatically prevents duplicate facts using embedding similarity
103
+ 6. **Multi-tenant Isolation** - Switch memory spaces to see complete isolation
104
+ 7. **Streaming with Memory** - Full streaming support with progressive storage
105
+
106
+ ## Configuration
107
+
108
+ The chat API route at `/app/api/chat/route.ts` shows how to configure the Cortex Memory provider:
109
+
110
+ ```typescript
111
+ import { createCortexMemory } from "@cortexmemory/vercel-ai-provider";
112
+ import { openai, createOpenAI } from "@ai-sdk/openai";
113
+ import { streamText, embed } from "ai";
114
+
115
+ const openaiClient = createOpenAI({ apiKey: process.env.OPENAI_API_KEY });
116
+
117
+ const cortexMemory = createCortexMemory({
118
+ convexUrl: process.env.CONVEX_URL!,
119
+ memorySpaceId: "quickstart-demo",
120
+
121
+ // User identification
122
+ userId: "demo-user",
123
+ userName: "Demo User",
124
+
125
+ // Agent identification (REQUIRED in SDK v0.17.0+)
126
+ agentId: "quickstart-assistant",
127
+ agentName: "Cortex Demo Assistant",
128
+
129
+ // Optional features
130
+ enableGraphMemory: process.env.CORTEX_GRAPH_SYNC === "true",
131
+ enableFactExtraction: process.env.CORTEX_FACT_EXTRACTION === "true",
132
+
133
+ // Belief Revision (v0.24.0+)
134
+ // Automatically handles fact updates when user changes their mind
135
+ // e.g., "I like blue" → "I prefer purple" will UPDATE/SUPERSEDE the old fact
136
+ beliefRevision: {
137
+ enabled: true,
138
+ slotMatching: true, // Fast slot-based conflict detection
139
+ llmResolution: true, // LLM-based resolution for nuanced conflicts
140
+ },
141
+
142
+ // Embedding provider (required for semantic matching)
143
+ embeddingProvider: {
144
+ generate: async (text) => {
145
+ const result = await embed({
146
+ model: openaiClient.embedding("text-embedding-3-small"),
147
+ value: text,
148
+ });
149
+ return result.embedding;
150
+ },
151
+ },
152
+ });
153
+
154
+ const result = await streamText({
155
+ model: cortexMemory(openai("gpt-4o-mini")),
156
+ messages,
157
+ });
158
+ ```
159
+
160
+ ## Architecture
161
+
162
+ ```
163
+ quickstart/
164
+ ├── app/
165
+ │ ├── api/
166
+ │ │ ├── chat/route.ts # Main chat endpoint with Cortex
167
+ │ │ ├── memories/route.ts # Memory inspection endpoint
168
+ │ │ └── facts/route.ts # Facts inspection endpoint
169
+ │ ├── layout.tsx
170
+ │ ├── page.tsx # Main demo page
171
+ │ └── globals.css
172
+ ├── components/
173
+ │ ├── ChatInterface.tsx # Chat UI component
174
+ │ ├── LayerFlowDiagram.tsx # Hero visualization component
175
+ │ ├── LayerCard.tsx # Individual layer status card
176
+ │ ├── DataPreview.tsx # Expandable data viewer
177
+ │ └── MemorySpaceSwitcher.tsx
178
+ ├── lib/
179
+ │ ├── layer-tracking.ts # Layer status management
180
+ │ └── animations.ts # Framer Motion variants
181
+ └── convex/
182
+ ├── schema.ts # Convex schema
183
+ ├── conversations.ts # Conversation queries
184
+ ├── memories.ts # Memory queries
185
+ ├── facts.ts # Facts queries
186
+ └── users.ts # User queries
187
+ ```
188
+
189
+ ## Learn More
190
+
191
+ - [Cortex Memory Documentation](https://cortexmemory.dev/docs)
192
+ - [Vercel AI SDK Documentation](https://sdk.vercel.ai/docs)
193
+ - [API Reference](/Documentation/03-api-reference/02-memory-operations.md)
194
+
195
+ ## Troubleshooting
196
+
197
+ ### "agentId is required"
198
+
199
+ Since SDK v0.17.0, all user-agent conversations require an `agentId`. Add it to your configuration:
200
+
201
+ ```typescript
202
+ const cortexMemory = createCortexMemory({
203
+ // ... other config
204
+ agentId: "my-assistant", // Required!
205
+ });
206
+ ```
207
+
208
+ ### Memories not appearing
209
+
210
+ 1. Check that your Convex deployment is running
211
+ 2. Verify `CONVEX_URL` is set correctly
212
+ 3. Ensure the memory space ID matches between frontend and backend
213
+
214
+ ### Fact extraction not working
215
+
216
+ Enable fact extraction via environment variable:
217
+
218
+ ```env
219
+ CORTEX_FACT_EXTRACTION=true
220
+ ```
221
+
222
+ ### Duplicate facts being created
223
+
224
+ Ensure you have `embeddingProvider` configured for optimal semantic deduplication:
225
+
226
+ ```typescript
227
+ const cortexMemory = createCortexMemory({
228
+ // ... other config
229
+ embeddingProvider: {
230
+ generate: async (text) => {
231
+ const result = await embed({
232
+ model: openaiClient.embedding("text-embedding-3-small"),
233
+ value: text,
234
+ });
235
+ return result.embedding;
236
+ },
237
+ },
238
+ });
239
+ ```
240
+
241
+ Without `embeddingProvider`, deduplication falls back to `structural` matching (subject + predicate + object), which is less accurate for semantically similar facts.
242
+
243
+ To disable deduplication entirely (not recommended):
244
+
245
+ ```typescript
246
+ const cortexMemory = createCortexMemory({
247
+ // ... other config
248
+ factDeduplication: false, // Uses pre-v0.22.0 behavior
249
+ });
250
+ ```
251
+
252
+ ### Facts not being updated when user changes preferences
253
+
254
+ If you say "I like blue" then later say "I prefer purple" and both facts remain, enable **Belief Revision** (v0.24.0+):
255
+
256
+ ```typescript
257
+ const cortexMemory = createCortexMemory({
258
+ // ... other config
259
+ beliefRevision: {
260
+ enabled: true,
261
+ slotMatching: true, // Fast detection via subject-predicate matching
262
+ llmResolution: true, // LLM resolves nuanced conflicts
263
+ },
264
+ });
265
+ ```
266
+
267
+ **Revision actions explained:**
268
+
269
+ | Action | Description | Example |
270
+ | ----------- | -------------------------------------------------- | ------------------------------------- |
271
+ | `CREATE` | New fact with no conflicts | First time mentioning favorite color |
272
+ | `UPDATE` | Existing fact refined with new details | "I like blue" → "I love dark blue" |
273
+ | `SUPERSEDE` | Old fact replaced by contradicting new information | "I like blue" → "I prefer purple now" |
274
+ | `NONE` | Duplicate or irrelevant, no storage needed | Saying "I like blue" twice |
275
+
276
+ The demo visualization shows these actions with colored badges on the Facts layer.
277
+
278
+ ## License
279
+
280
+ FSL-1.1-Apache-2.0 - See LICENSE.md in the root of the repository.
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Auth Check API Route
3
+ *
4
+ * GET: Check if admin has been set up (first-run detection)
5
+ */
6
+
7
+ import { getCortex } from "@/lib/cortex";
8
+
9
+ const ADMIN_NAMESPACE = "quickstart-config";
10
+ const ADMIN_KEY = "admin_password_hash";
11
+
12
+ export async function GET() {
13
+ try {
14
+ const cortex = getCortex();
15
+
16
+ // Check if admin password hash exists in mutable store
17
+ const adminHash = await cortex.mutable.get(ADMIN_NAMESPACE, ADMIN_KEY);
18
+
19
+ return Response.json({
20
+ isSetup: adminHash !== null,
21
+ });
22
+ } catch (error) {
23
+ console.error("[Auth Check Error]", error);
24
+
25
+ return Response.json(
26
+ { error: "Failed to check admin setup status" },
27
+ { status: 500 }
28
+ );
29
+ }
30
+ }
@@ -0,0 +1,83 @@
1
+ /**
2
+ * User Login API Route
3
+ *
4
+ * POST: Authenticate user and return session
5
+ */
6
+
7
+ import { getCortex } from "@/lib/cortex";
8
+ import { verifyPassword, generateSessionToken } from "@/lib/password";
9
+
10
+ export async function POST(req: Request) {
11
+ try {
12
+ const body = await req.json();
13
+ const { username, password } = body;
14
+
15
+ // Validate input
16
+ if (!username || typeof username !== "string") {
17
+ return Response.json(
18
+ { error: "Username is required" },
19
+ { status: 400 }
20
+ );
21
+ }
22
+
23
+ if (!password || typeof password !== "string") {
24
+ return Response.json(
25
+ { error: "Password is required" },
26
+ { status: 400 }
27
+ );
28
+ }
29
+
30
+ const cortex = getCortex();
31
+ const sanitizedUsername = username.toLowerCase();
32
+
33
+ // Get user profile
34
+ const user = await cortex.users.get(sanitizedUsername);
35
+ if (!user) {
36
+ return Response.json(
37
+ { error: "Invalid username or password" },
38
+ { status: 401 }
39
+ );
40
+ }
41
+
42
+ // Verify password
43
+ const storedHash = user.data.passwordHash as string;
44
+ if (!storedHash) {
45
+ return Response.json(
46
+ { error: "Invalid username or password" },
47
+ { status: 401 }
48
+ );
49
+ }
50
+
51
+ const isValid = await verifyPassword(password, storedHash);
52
+ if (!isValid) {
53
+ return Response.json(
54
+ { error: "Invalid username or password" },
55
+ { status: 401 }
56
+ );
57
+ }
58
+
59
+ // Update last login time
60
+ await cortex.users.update(sanitizedUsername, {
61
+ lastLoginAt: Date.now(),
62
+ });
63
+
64
+ // Generate session token
65
+ const sessionToken = generateSessionToken();
66
+
67
+ return Response.json({
68
+ success: true,
69
+ user: {
70
+ id: sanitizedUsername,
71
+ displayName: (user.data.displayName as string) || sanitizedUsername,
72
+ },
73
+ sessionToken,
74
+ });
75
+ } catch (error) {
76
+ console.error("[Login Error]", error);
77
+
78
+ return Response.json(
79
+ { error: "Failed to authenticate" },
80
+ { status: 500 }
81
+ );
82
+ }
83
+ }