cogxai 2.8.0

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 (308) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +691 -0
  3. package/dist/agents/executor.d.ts +17 -0
  4. package/dist/agents/executor.d.ts.map +1 -0
  5. package/dist/agents/executor.js +336 -0
  6. package/dist/agents/executor.js.map +1 -0
  7. package/dist/agents/index.d.ts +9 -0
  8. package/dist/agents/index.d.ts.map +1 -0
  9. package/dist/agents/index.js +18 -0
  10. package/dist/agents/index.js.map +1 -0
  11. package/dist/agents/tools.d.ts +31 -0
  12. package/dist/agents/tools.d.ts.map +1 -0
  13. package/dist/agents/tools.js +262 -0
  14. package/dist/agents/tools.js.map +1 -0
  15. package/dist/agents/types.d.ts +25 -0
  16. package/dist/agents/types.d.ts.map +1 -0
  17. package/dist/agents/types.js +170 -0
  18. package/dist/agents/types.js.map +1 -0
  19. package/dist/character/agent-tier-modifiers.d.ts +3 -0
  20. package/dist/character/agent-tier-modifiers.d.ts.map +1 -0
  21. package/dist/character/agent-tier-modifiers.js +24 -0
  22. package/dist/character/agent-tier-modifiers.js.map +1 -0
  23. package/dist/character/base-prompt.d.ts +3 -0
  24. package/dist/character/base-prompt.d.ts.map +1 -0
  25. package/dist/character/base-prompt.js +45 -0
  26. package/dist/character/base-prompt.js.map +1 -0
  27. package/dist/character/mood-modifiers.d.ts +3 -0
  28. package/dist/character/mood-modifiers.d.ts.map +1 -0
  29. package/dist/character/mood-modifiers.js +27 -0
  30. package/dist/character/mood-modifiers.js.map +1 -0
  31. package/dist/character/tier-modifiers.d.ts +3 -0
  32. package/dist/character/tier-modifiers.d.ts.map +1 -0
  33. package/dist/character/tier-modifiers.js +25 -0
  34. package/dist/character/tier-modifiers.js.map +1 -0
  35. package/dist/cli/banner.d.ts +20 -0
  36. package/dist/cli/banner.d.ts.map +1 -0
  37. package/dist/cli/banner.js +73 -0
  38. package/dist/cli/banner.js.map +1 -0
  39. package/dist/cli/export.d.ts +2 -0
  40. package/dist/cli/export.d.ts.map +1 -0
  41. package/dist/cli/export.js +176 -0
  42. package/dist/cli/export.js.map +1 -0
  43. package/dist/cli/index.d.ts +3 -0
  44. package/dist/cli/index.d.ts.map +1 -0
  45. package/dist/cli/index.js +80 -0
  46. package/dist/cli/index.js.map +1 -0
  47. package/dist/cli/init.d.ts +2 -0
  48. package/dist/cli/init.d.ts.map +1 -0
  49. package/dist/cli/init.js +541 -0
  50. package/dist/cli/init.js.map +1 -0
  51. package/dist/cli/register.d.ts +2 -0
  52. package/dist/cli/register.d.ts.map +1 -0
  53. package/dist/cli/register.js +121 -0
  54. package/dist/cli/register.js.map +1 -0
  55. package/dist/cli/setup.d.ts +3 -0
  56. package/dist/cli/setup.d.ts.map +1 -0
  57. package/dist/cli/setup.js +403 -0
  58. package/dist/cli/setup.js.map +1 -0
  59. package/dist/cli/ship.d.ts +2 -0
  60. package/dist/cli/ship.d.ts.map +1 -0
  61. package/dist/cli/ship.js +32 -0
  62. package/dist/cli/ship.js.map +1 -0
  63. package/dist/config.d.ts +90 -0
  64. package/dist/config.d.ts.map +1 -0
  65. package/dist/config.js +124 -0
  66. package/dist/config.js.map +1 -0
  67. package/dist/core/allium-client.d.ts +32 -0
  68. package/dist/core/allium-client.d.ts.map +1 -0
  69. package/dist/core/allium-client.js +162 -0
  70. package/dist/core/allium-client.js.map +1 -0
  71. package/dist/core/claude-client.d.ts +31 -0
  72. package/dist/core/claude-client.d.ts.map +1 -0
  73. package/dist/core/claude-client.js +172 -0
  74. package/dist/core/claude-client.js.map +1 -0
  75. package/dist/core/database.d.ts +17 -0
  76. package/dist/core/database.d.ts.map +1 -0
  77. package/dist/core/database.js +499 -0
  78. package/dist/core/database.js.map +1 -0
  79. package/dist/core/embeddings.d.ts +28 -0
  80. package/dist/core/embeddings.d.ts.map +1 -0
  81. package/dist/core/embeddings.js +212 -0
  82. package/dist/core/embeddings.js.map +1 -0
  83. package/dist/core/encryption.d.ts +49 -0
  84. package/dist/core/encryption.d.ts.map +1 -0
  85. package/dist/core/encryption.js +136 -0
  86. package/dist/core/encryption.js.map +1 -0
  87. package/dist/core/guardrails.d.ts +30 -0
  88. package/dist/core/guardrails.d.ts.map +1 -0
  89. package/dist/core/guardrails.js +191 -0
  90. package/dist/core/guardrails.js.map +1 -0
  91. package/dist/core/inference.d.ts +37 -0
  92. package/dist/core/inference.d.ts.map +1 -0
  93. package/dist/core/inference.js +110 -0
  94. package/dist/core/inference.js.map +1 -0
  95. package/dist/core/input-guardrails.d.ts +21 -0
  96. package/dist/core/input-guardrails.d.ts.map +1 -0
  97. package/dist/core/input-guardrails.js +59 -0
  98. package/dist/core/input-guardrails.js.map +1 -0
  99. package/dist/core/logger.d.ts +3 -0
  100. package/dist/core/logger.d.ts.map +1 -0
  101. package/dist/core/logger.js +41 -0
  102. package/dist/core/logger.js.map +1 -0
  103. package/dist/core/memory-graph.d.ts +126 -0
  104. package/dist/core/memory-graph.d.ts.map +1 -0
  105. package/dist/core/memory-graph.js +451 -0
  106. package/dist/core/memory-graph.js.map +1 -0
  107. package/dist/core/memory.d.ts +172 -0
  108. package/dist/core/memory.d.ts.map +1 -0
  109. package/dist/core/memory.js +1432 -0
  110. package/dist/core/memory.js.map +1 -0
  111. package/dist/core/owner-context.d.ts +8 -0
  112. package/dist/core/owner-context.d.ts.map +1 -0
  113. package/dist/core/owner-context.js +31 -0
  114. package/dist/core/owner-context.js.map +1 -0
  115. package/dist/core/price-oracle.d.ts +16 -0
  116. package/dist/core/price-oracle.d.ts.map +1 -0
  117. package/dist/core/price-oracle.js +162 -0
  118. package/dist/core/price-oracle.js.map +1 -0
  119. package/dist/core/solana-client.d.ts +39 -0
  120. package/dist/core/solana-client.d.ts.map +1 -0
  121. package/dist/core/solana-client.js +366 -0
  122. package/dist/core/solana-client.js.map +1 -0
  123. package/dist/core/telegram-client.d.ts +22 -0
  124. package/dist/core/telegram-client.d.ts.map +1 -0
  125. package/dist/core/telegram-client.js +93 -0
  126. package/dist/core/telegram-client.js.map +1 -0
  127. package/dist/core/venice-client.d.ts +94 -0
  128. package/dist/core/venice-client.d.ts.map +1 -0
  129. package/dist/core/venice-client.js +282 -0
  130. package/dist/core/venice-client.js.map +1 -0
  131. package/dist/core/x-client.d.ts +68 -0
  132. package/dist/core/x-client.d.ts.map +1 -0
  133. package/dist/core/x-client.js +383 -0
  134. package/dist/core/x-client.js.map +1 -0
  135. package/dist/events/event-bus.d.ts +37 -0
  136. package/dist/events/event-bus.d.ts.map +1 -0
  137. package/dist/events/event-bus.js +21 -0
  138. package/dist/events/event-bus.js.map +1 -0
  139. package/dist/events/handlers.d.ts +6 -0
  140. package/dist/events/handlers.d.ts.map +1 -0
  141. package/dist/events/handlers.js +21 -0
  142. package/dist/events/handlers.js.map +1 -0
  143. package/dist/features/action-learning.d.ts +61 -0
  144. package/dist/features/action-learning.d.ts.map +1 -0
  145. package/dist/features/action-learning.js +424 -0
  146. package/dist/features/action-learning.js.map +1 -0
  147. package/dist/features/active-reflection.d.ts +37 -0
  148. package/dist/features/active-reflection.d.ts.map +1 -0
  149. package/dist/features/active-reflection.js +376 -0
  150. package/dist/features/active-reflection.js.map +1 -0
  151. package/dist/features/agent-tier.d.ts +21 -0
  152. package/dist/features/agent-tier.d.ts.map +1 -0
  153. package/dist/features/agent-tier.js +56 -0
  154. package/dist/features/agent-tier.js.map +1 -0
  155. package/dist/features/campaign-tracker.d.ts +8 -0
  156. package/dist/features/campaign-tracker.d.ts.map +1 -0
  157. package/dist/features/campaign-tracker.js +206 -0
  158. package/dist/features/campaign-tracker.js.map +1 -0
  159. package/dist/features/clinamen.d.ts +48 -0
  160. package/dist/features/clinamen.d.ts.map +1 -0
  161. package/dist/features/clinamen.js +164 -0
  162. package/dist/features/clinamen.js.map +1 -0
  163. package/dist/features/dream-cycle.d.ts +12 -0
  164. package/dist/features/dream-cycle.d.ts.map +1 -0
  165. package/dist/features/dream-cycle.js +889 -0
  166. package/dist/features/dream-cycle.js.map +1 -0
  167. package/dist/features/market-monitor.d.ts +4 -0
  168. package/dist/features/market-monitor.d.ts.map +1 -0
  169. package/dist/features/market-monitor.js +135 -0
  170. package/dist/features/market-monitor.js.map +1 -0
  171. package/dist/features/memory-trace.d.ts +75 -0
  172. package/dist/features/memory-trace.d.ts.map +1 -0
  173. package/dist/features/memory-trace.js +325 -0
  174. package/dist/features/memory-trace.js.map +1 -0
  175. package/dist/features/onchain-opinion.d.ts +5 -0
  176. package/dist/features/onchain-opinion.d.ts.map +1 -0
  177. package/dist/features/onchain-opinion.js +70 -0
  178. package/dist/features/onchain-opinion.js.map +1 -0
  179. package/dist/features/price-personality.d.ts +4 -0
  180. package/dist/features/price-personality.d.ts.map +1 -0
  181. package/dist/features/price-personality.js +156 -0
  182. package/dist/features/price-personality.js.map +1 -0
  183. package/dist/features/x-sentiment-monitor.d.ts +8 -0
  184. package/dist/features/x-sentiment-monitor.d.ts.map +1 -0
  185. package/dist/features/x-sentiment-monitor.js +289 -0
  186. package/dist/features/x-sentiment-monitor.js.map +1 -0
  187. package/dist/index.d.ts +3 -0
  188. package/dist/index.d.ts.map +1 -0
  189. package/dist/index.js +133 -0
  190. package/dist/index.js.map +1 -0
  191. package/dist/knowledge/tokenomics.d.ts +72 -0
  192. package/dist/knowledge/tokenomics.d.ts.map +1 -0
  193. package/dist/knowledge/tokenomics.js +140 -0
  194. package/dist/knowledge/tokenomics.js.map +1 -0
  195. package/dist/mcp/local-store.d.ts +53 -0
  196. package/dist/mcp/local-store.d.ts.map +1 -0
  197. package/dist/mcp/local-store.js +175 -0
  198. package/dist/mcp/local-store.js.map +1 -0
  199. package/dist/mcp/server.d.ts +2 -0
  200. package/dist/mcp/server.d.ts.map +1 -0
  201. package/dist/mcp/server.js +373 -0
  202. package/dist/mcp/server.js.map +1 -0
  203. package/dist/mentions/classifier.d.ts +3 -0
  204. package/dist/mentions/classifier.d.ts.map +1 -0
  205. package/dist/mentions/classifier.js +51 -0
  206. package/dist/mentions/classifier.js.map +1 -0
  207. package/dist/mentions/dispatcher.d.ts +3 -0
  208. package/dist/mentions/dispatcher.d.ts.map +1 -0
  209. package/dist/mentions/dispatcher.js +404 -0
  210. package/dist/mentions/dispatcher.js.map +1 -0
  211. package/dist/mentions/poller.d.ts +3 -0
  212. package/dist/mentions/poller.d.ts.map +1 -0
  213. package/dist/mentions/poller.js +45 -0
  214. package/dist/mentions/poller.js.map +1 -0
  215. package/dist/sdk/cortex-v2.d.ts +121 -0
  216. package/dist/sdk/cortex-v2.d.ts.map +1 -0
  217. package/dist/sdk/cortex-v2.js +207 -0
  218. package/dist/sdk/cortex-v2.js.map +1 -0
  219. package/dist/sdk/cortex.d.ts +64 -0
  220. package/dist/sdk/cortex.d.ts.map +1 -0
  221. package/dist/sdk/cortex.js +362 -0
  222. package/dist/sdk/cortex.js.map +1 -0
  223. package/dist/sdk/http-transport.d.ts +15 -0
  224. package/dist/sdk/http-transport.d.ts.map +1 -0
  225. package/dist/sdk/http-transport.js +49 -0
  226. package/dist/sdk/http-transport.js.map +1 -0
  227. package/dist/sdk/index.d.ts +5 -0
  228. package/dist/sdk/index.d.ts.map +1 -0
  229. package/dist/sdk/index.js +8 -0
  230. package/dist/sdk/index.js.map +1 -0
  231. package/dist/sdk/sdk-mode.d.ts +1 -0
  232. package/dist/sdk/sdk-mode.d.ts.map +1 -0
  233. package/dist/sdk/sdk-mode.js +5 -0
  234. package/dist/sdk/sdk-mode.js.map +1 -0
  235. package/dist/sdk/types.d.ts +48 -0
  236. package/dist/sdk/types.d.ts.map +1 -0
  237. package/dist/sdk/types.js +3 -0
  238. package/dist/sdk/types.js.map +1 -0
  239. package/dist/services/response.service.d.ts +27 -0
  240. package/dist/services/response.service.d.ts.map +1 -0
  241. package/dist/services/response.service.js +62 -0
  242. package/dist/services/response.service.js.map +1 -0
  243. package/dist/services/social.service.d.ts +14 -0
  244. package/dist/services/social.service.d.ts.map +1 -0
  245. package/dist/services/social.service.js +44 -0
  246. package/dist/services/social.service.js.map +1 -0
  247. package/dist/services/telegram.service.d.ts +30 -0
  248. package/dist/services/telegram.service.d.ts.map +1 -0
  249. package/dist/services/telegram.service.js +71 -0
  250. package/dist/services/telegram.service.js.map +1 -0
  251. package/dist/types/api.d.ts +109 -0
  252. package/dist/types/api.d.ts.map +1 -0
  253. package/dist/types/api.js +6 -0
  254. package/dist/types/api.js.map +1 -0
  255. package/dist/utils/constants.d.ts +49 -0
  256. package/dist/utils/constants.d.ts.map +1 -0
  257. package/dist/utils/constants.js +110 -0
  258. package/dist/utils/constants.js.map +1 -0
  259. package/dist/utils/env-persona.d.ts +9 -0
  260. package/dist/utils/env-persona.d.ts.map +1 -0
  261. package/dist/utils/env-persona.js +53 -0
  262. package/dist/utils/env-persona.js.map +1 -0
  263. package/dist/utils/format.d.ts +12 -0
  264. package/dist/utils/format.d.ts.map +1 -0
  265. package/dist/utils/format.js +59 -0
  266. package/dist/utils/format.js.map +1 -0
  267. package/dist/utils/index.d.ts +4 -0
  268. package/dist/utils/index.d.ts.map +1 -0
  269. package/dist/utils/index.js +20 -0
  270. package/dist/utils/index.js.map +1 -0
  271. package/dist/utils/text.d.ts +10 -0
  272. package/dist/utils/text.d.ts.map +1 -0
  273. package/dist/utils/text.js +33 -0
  274. package/dist/utils/text.js.map +1 -0
  275. package/dist/verify-app/routes.d.ts +3 -0
  276. package/dist/verify-app/routes.d.ts.map +1 -0
  277. package/dist/verify-app/routes.js +101 -0
  278. package/dist/verify-app/routes.js.map +1 -0
  279. package/dist/webhook/agent-routes.d.ts +3 -0
  280. package/dist/webhook/agent-routes.d.ts.map +1 -0
  281. package/dist/webhook/agent-routes.js +314 -0
  282. package/dist/webhook/agent-routes.js.map +1 -0
  283. package/dist/webhook/campaign-routes.d.ts +3 -0
  284. package/dist/webhook/campaign-routes.d.ts.map +1 -0
  285. package/dist/webhook/campaign-routes.js +333 -0
  286. package/dist/webhook/campaign-routes.js.map +1 -0
  287. package/dist/webhook/cortex-routes.d.ts +13 -0
  288. package/dist/webhook/cortex-routes.d.ts.map +1 -0
  289. package/dist/webhook/cortex-routes.js +534 -0
  290. package/dist/webhook/cortex-routes.js.map +1 -0
  291. package/dist/webhook/dashboard-routes.d.ts +8 -0
  292. package/dist/webhook/dashboard-routes.d.ts.map +1 -0
  293. package/dist/webhook/dashboard-routes.js +588 -0
  294. package/dist/webhook/dashboard-routes.js.map +1 -0
  295. package/dist/webhook/graph-routes.d.ts +3 -0
  296. package/dist/webhook/graph-routes.d.ts.map +1 -0
  297. package/dist/webhook/graph-routes.js +238 -0
  298. package/dist/webhook/graph-routes.js.map +1 -0
  299. package/dist/webhook/privy-auth.d.ts +35 -0
  300. package/dist/webhook/privy-auth.d.ts.map +1 -0
  301. package/dist/webhook/privy-auth.js +99 -0
  302. package/dist/webhook/privy-auth.js.map +1 -0
  303. package/dist/webhook/server.d.ts +4 -0
  304. package/dist/webhook/server.d.ts.map +1 -0
  305. package/dist/webhook/server.js +912 -0
  306. package/dist/webhook/server.js.map +1 -0
  307. package/package.json +96 -0
  308. package/supabase-schema.sql +399 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/webhook/server.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,96 @@
1
+ {
2
+ "name": "cogxai",
3
+ "version": "2.8.0",
4
+ "description": "CogxAI — Persistent memory SDK for AI agents. Store, recall, dream, and reflect. Stanford Generative Agents architecture on Supabase + pgvector.",
5
+ "main": "dist/sdk/index.js",
6
+ "types": "dist/sdk/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "require": "./dist/sdk/index.js",
10
+ "types": "./dist/sdk/index.d.ts"
11
+ },
12
+ "./schema": "./supabase-schema.sql",
13
+ "./local": {
14
+ "require": "./dist/mcp/local-store.js",
15
+ "types": "./dist/mcp/local-store.d.ts"
16
+ },
17
+ "./mcp": {
18
+ "require": "./dist/mcp/server.js",
19
+ "types": "./dist/mcp/server.d.ts"
20
+ }
21
+ },
22
+ "bin": {
23
+ "cogxai": "dist/cli/index.js"
24
+ },
25
+ "files": [
26
+ "dist",
27
+ "supabase-schema.sql",
28
+ "README.md",
29
+ "LICENSE"
30
+ ],
31
+ "scripts": {
32
+ "dev": "tsx watch src/index.ts",
33
+ "build": "tsc",
34
+ "build:sdk": "tsc -p tsconfig.sdk.json",
35
+ "start": "node dist/index.js",
36
+ "typecheck": "tsc --noEmit",
37
+ "prepublishOnly": "npm run build:sdk",
38
+ "mcp": "MCP_MODE=1 tsx src/mcp/server.ts",
39
+ "dashboard": "cd dashboard && npm run dev",
40
+ "dashboard:build": "cd dashboard && npm run build"
41
+ },
42
+ "keywords": [
43
+ "cogxai",
44
+ "ai-agent",
45
+ "ai-memory",
46
+ "memory",
47
+ "cognitive-architecture",
48
+ "generative-agents",
49
+ "mcp",
50
+ "solana",
51
+ "supabase",
52
+ "pgvector",
53
+ "anthropic",
54
+ "claude",
55
+ "embeddings",
56
+ "dream-cycle",
57
+ "cortex",
58
+ "sdk"
59
+ ],
60
+ "repository": {
61
+ "type": "git",
62
+ "url": "git+https://github.com/Black-dork/cogxai.git"
63
+ },
64
+ "homepage": "https://cogxai.org",
65
+ "bugs": {
66
+ "url": "https://github.com/Black-dork/cogxai/issues"
67
+ },
68
+ "author": "Black-dork",
69
+ "license": "MIT",
70
+ "engines": {
71
+ "node": ">=18.0.0"
72
+ },
73
+ "dependencies": {
74
+ "@anthropic-ai/sdk": "^0.39.0",
75
+ "@modelcontextprotocol/sdk": "^1.26.0",
76
+ "@solana/web3.js": "^1.98.4",
77
+ "@supabase/supabase-js": "^2.95.3",
78
+ "bs58": "^6.0.0",
79
+ "dotenv": "^16.4.0",
80
+ "jose": "^6.1.3",
81
+ "pino": "^9.0.0",
82
+ "tweetnacl": "^1.0.3",
83
+ "twitter-api-v2": "^1.29.0",
84
+ "zod": "^4.3.6"
85
+ },
86
+ "devDependencies": {
87
+ "@types/express": "^4.17.25",
88
+ "@types/node": "^22.19.11",
89
+ "@types/node-cron": "^3.0.11",
90
+ "express": "^4.21.0",
91
+ "express-rate-limit": "^8.2.1",
92
+ "node-cron": "^3.0.3",
93
+ "tsx": "^4.19.0",
94
+ "typescript": "^5.6.0"
95
+ }
96
+ }
@@ -0,0 +1,399 @@
1
+ -- Run this in the Supabase SQL Editor to create all required tables
2
+
3
+ CREATE TABLE IF NOT EXISTS wallet_links (
4
+ id BIGSERIAL PRIMARY KEY,
5
+ x_handle TEXT UNIQUE NOT NULL,
6
+ x_user_id TEXT UNIQUE NOT NULL,
7
+ wallet_address TEXT NOT NULL,
8
+ verified_at TIMESTAMPTZ DEFAULT NOW()
9
+ );
10
+
11
+ CREATE TABLE IF NOT EXISTS processed_mentions (
12
+ tweet_id TEXT PRIMARY KEY,
13
+ feature TEXT NOT NULL,
14
+ response_tweet_id TEXT,
15
+ processed_at TIMESTAMPTZ DEFAULT NOW()
16
+ );
17
+
18
+ CREATE TABLE IF NOT EXISTS opinion_commits (
19
+ id BIGSERIAL PRIMARY KEY,
20
+ tweet_id TEXT NOT NULL,
21
+ question TEXT NOT NULL,
22
+ answer TEXT NOT NULL,
23
+ answer_hash TEXT NOT NULL,
24
+ solana_signature TEXT,
25
+ created_at TIMESTAMPTZ DEFAULT NOW()
26
+ );
27
+
28
+ CREATE TABLE IF NOT EXISTS rate_limits (
29
+ key TEXT PRIMARY KEY,
30
+ count INTEGER DEFAULT 0,
31
+ window_start TIMESTAMPTZ DEFAULT NOW()
32
+ );
33
+
34
+ CREATE TABLE IF NOT EXISTS price_snapshots (
35
+ id BIGSERIAL PRIMARY KEY,
36
+ price_usd DOUBLE PRECISION NOT NULL,
37
+ volume_24h DOUBLE PRECISION,
38
+ market_cap DOUBLE PRECISION,
39
+ recorded_at TIMESTAMPTZ DEFAULT NOW()
40
+ );
41
+
42
+ CREATE INDEX IF NOT EXISTS idx_price_snapshots_recorded ON price_snapshots(recorded_at);
43
+
44
+ -- ============================================================
45
+ -- MEMORY SYSTEM: The Cortex
46
+ -- Episodic, Semantic, Procedural, and Self-Model memory
47
+ -- with hybrid vector + keyword retrieval
48
+ -- ============================================================
49
+
50
+ -- Enable trigram similarity for fuzzy text search
51
+ CREATE EXTENSION IF NOT EXISTS pg_trgm;
52
+
53
+ -- Enable pgvector for semantic similarity search
54
+ CREATE EXTENSION IF NOT EXISTS vector;
55
+
56
+ CREATE TABLE IF NOT EXISTS memories (
57
+ id BIGSERIAL PRIMARY KEY,
58
+ memory_type TEXT NOT NULL CHECK (memory_type IN ('episodic', 'semantic', 'procedural', 'self_model')),
59
+ content TEXT NOT NULL,
60
+ summary TEXT NOT NULL,
61
+ tags TEXT[] DEFAULT '{}',
62
+ concepts TEXT[] DEFAULT '{}', -- structured concept ontology labels
63
+ emotional_valence REAL DEFAULT 0, -- -1 (negative) to 1 (positive)
64
+ importance REAL DEFAULT 0.5, -- 0 to 1
65
+ access_count INTEGER DEFAULT 0,
66
+ source TEXT, -- trigger: mention, market, consolidation, reflection, emergence
67
+ source_id TEXT, -- tweet ID, event ID, etc.
68
+ related_user TEXT, -- X user ID if relevant
69
+ related_wallet TEXT, -- wallet address if relevant
70
+ metadata JSONB DEFAULT '{}',
71
+ created_at TIMESTAMPTZ DEFAULT NOW(),
72
+ last_accessed TIMESTAMPTZ DEFAULT NOW(),
73
+ decay_factor REAL DEFAULT 1.0, -- type-specific decay (episodic=0.93, semantic=0.98, procedural=0.97, self_model=0.99)
74
+ evidence_ids BIGINT[] DEFAULT '{}', -- IDs of memories that support this one (Park et al. 2023)
75
+ solana_signature TEXT, -- Solana tx signature if committed on-chain
76
+ embedding vector(1024), -- vector embedding for semantic similarity search
77
+ hash_id TEXT, -- collision-resistant hash ID (Beads-inspired)
78
+ compacted BOOLEAN DEFAULT FALSE, -- whether this memory has been compacted
79
+ compacted_into TEXT, -- hash_id of the memory this was compacted into
80
+ encrypted BOOLEAN DEFAULT FALSE, -- whether content is client-side encrypted
81
+ encryption_pubkey TEXT, -- Solana pubkey that encrypted this memory
82
+ owner_wallet TEXT -- Solana pubkey of the memory owner
83
+ );
84
+
85
+ -- Memory fragments: granular vector decomposition for precision retrieval
86
+ -- Each memory is split into semantic fragments (summary, content chunks, tag context)
87
+ -- so vector search matches against precise sub-memory content rather than the whole blob.
88
+ CREATE TABLE IF NOT EXISTS memory_fragments (
89
+ id BIGSERIAL PRIMARY KEY,
90
+ memory_id BIGINT NOT NULL REFERENCES memories(id) ON DELETE CASCADE,
91
+ fragment_type TEXT NOT NULL, -- 'summary', 'content_chunk', 'tag_context'
92
+ content TEXT NOT NULL,
93
+ embedding vector(1024),
94
+ created_at TIMESTAMPTZ DEFAULT NOW()
95
+ );
96
+
97
+ -- Dream logs: consolidation, reflection, emergence sessions
98
+ CREATE TABLE IF NOT EXISTS dream_logs (
99
+ id BIGSERIAL PRIMARY KEY,
100
+ session_type TEXT NOT NULL CHECK (session_type IN ('consolidation', 'reflection', 'emergence', 'compaction', 'decay', 'contradiction_resolution')),
101
+ input_memory_ids BIGINT[] DEFAULT '{}',
102
+ output TEXT NOT NULL,
103
+ new_memories_created BIGINT[] DEFAULT '{}',
104
+ created_at TIMESTAMPTZ DEFAULT NOW()
105
+ );
106
+
107
+ -- Indexes for memory retrieval
108
+ CREATE INDEX IF NOT EXISTS idx_memories_type ON memories(memory_type);
109
+ CREATE INDEX IF NOT EXISTS idx_memories_tags ON memories USING GIN(tags);
110
+ CREATE INDEX IF NOT EXISTS idx_memories_concepts ON memories USING GIN(concepts);
111
+ CREATE INDEX IF NOT EXISTS idx_memories_importance ON memories(importance DESC);
112
+ CREATE INDEX IF NOT EXISTS idx_memories_user ON memories(related_user);
113
+ CREATE INDEX IF NOT EXISTS idx_memories_created ON memories(created_at DESC);
114
+ CREATE INDEX IF NOT EXISTS idx_memories_decay ON memories(decay_factor);
115
+ CREATE INDEX IF NOT EXISTS idx_memories_summary_trgm ON memories USING GIN(summary gin_trgm_ops);
116
+ CREATE INDEX IF NOT EXISTS idx_memories_evidence ON memories USING GIN(evidence_ids);
117
+ CREATE INDEX IF NOT EXISTS idx_memories_owner ON memories(owner_wallet);
118
+
119
+ -- Vector similarity indexes (HNSW for fast approximate nearest neighbor)
120
+ CREATE INDEX IF NOT EXISTS idx_memories_embedding ON memories USING hnsw (embedding vector_cosine_ops);
121
+ CREATE INDEX IF NOT EXISTS idx_fragments_embedding ON memory_fragments USING hnsw (embedding vector_cosine_ops);
122
+ CREATE INDEX IF NOT EXISTS idx_fragments_memory_id ON memory_fragments(memory_id);
123
+
124
+ CREATE INDEX IF NOT EXISTS idx_dream_logs_type ON dream_logs(session_type);
125
+ CREATE INDEX IF NOT EXISTS idx_dream_logs_created ON dream_logs(created_at DESC);
126
+
127
+ -- ============================================================
128
+ -- VECTOR SEARCH FUNCTIONS
129
+ -- Used by the hybrid retrieval system in memory.ts
130
+ -- ============================================================
131
+
132
+ -- Semantic search across memory-level embeddings with metadata filtering
133
+ CREATE OR REPLACE FUNCTION match_memories(
134
+ query_embedding vector(1024),
135
+ match_threshold float DEFAULT 0.3,
136
+ match_count int DEFAULT 10,
137
+ filter_types text[] DEFAULT NULL,
138
+ filter_user text DEFAULT NULL,
139
+ min_decay float DEFAULT 0.1,
140
+ filter_owner text DEFAULT NULL
141
+ )
142
+ RETURNS TABLE (id bigint, similarity float)
143
+ LANGUAGE plpgsql AS $$
144
+ BEGIN
145
+ RETURN QUERY
146
+ SELECT m.id, (1 - (m.embedding <=> query_embedding))::float AS similarity
147
+ FROM memories m
148
+ WHERE m.embedding IS NOT NULL
149
+ AND m.decay_factor >= min_decay
150
+ AND (filter_types IS NULL OR m.memory_type = ANY(filter_types))
151
+ AND (filter_user IS NULL OR m.related_user = filter_user)
152
+ AND (filter_owner IS NULL OR m.owner_wallet = filter_owner)
153
+ AND (1 - (m.embedding <=> query_embedding)) > match_threshold
154
+ ORDER BY m.embedding <=> query_embedding
155
+ LIMIT match_count;
156
+ END;
157
+ $$;
158
+
159
+ -- ============================================================
160
+ -- MEMORY ASSOCIATION GRAPH
161
+ -- Bidirectional, typed, weighted links between memories.
162
+ -- Enables multi-hop retrieval, conflict detection, and
163
+ -- associative reasoning (A-Mem / MAGMA / SYNAPSE inspired).
164
+ -- ============================================================
165
+
166
+ CREATE TABLE IF NOT EXISTS memory_links (
167
+ id BIGSERIAL PRIMARY KEY,
168
+ source_id BIGINT NOT NULL REFERENCES memories(id) ON DELETE CASCADE,
169
+ target_id BIGINT NOT NULL REFERENCES memories(id) ON DELETE CASCADE,
170
+ link_type TEXT NOT NULL CHECK (link_type IN (
171
+ 'supports', -- evidence-backed
172
+ 'contradicts', -- conflicting information
173
+ 'elaborates', -- adds detail to existing memory
174
+ 'causes', -- causal chain
175
+ 'follows', -- temporal sequence
176
+ 'relates', -- general semantic association
177
+ 'resolves' -- contradiction resolution outcome
178
+ )),
179
+ strength REAL DEFAULT 0.5,
180
+ created_at TIMESTAMPTZ DEFAULT NOW(),
181
+ UNIQUE(source_id, target_id, link_type)
182
+ );
183
+
184
+ CREATE INDEX IF NOT EXISTS idx_links_source ON memory_links(source_id);
185
+ CREATE INDEX IF NOT EXISTS idx_links_target ON memory_links(target_id);
186
+ CREATE INDEX IF NOT EXISTS idx_links_type ON memory_links(link_type);
187
+ CREATE INDEX IF NOT EXISTS idx_links_strength ON memory_links(strength DESC);
188
+
189
+ -- 1-hop traversal: get all memories linked to a set of IDs (both directions)
190
+ CREATE OR REPLACE FUNCTION get_linked_memories(
191
+ seed_ids BIGINT[],
192
+ min_strength FLOAT DEFAULT 0.1,
193
+ max_results INT DEFAULT 20,
194
+ filter_owner TEXT DEFAULT NULL
195
+ )
196
+ RETURNS TABLE (
197
+ memory_id BIGINT,
198
+ linked_from BIGINT,
199
+ link_type TEXT,
200
+ strength FLOAT
201
+ )
202
+ LANGUAGE sql AS $$
203
+ SELECT DISTINCT ON (ml.target_id, ml.link_type)
204
+ ml.target_id AS memory_id,
205
+ ml.source_id AS linked_from,
206
+ ml.link_type,
207
+ ml.strength::float
208
+ FROM memory_links ml
209
+ JOIN memories m ON m.id = ml.target_id
210
+ WHERE ml.source_id = ANY(seed_ids)
211
+ AND ml.target_id != ALL(seed_ids)
212
+ AND ml.strength >= min_strength
213
+ AND (filter_owner IS NULL OR m.owner_wallet = filter_owner)
214
+ UNION
215
+ SELECT DISTINCT ON (ml.source_id, ml.link_type)
216
+ ml.source_id AS memory_id,
217
+ ml.target_id AS linked_from,
218
+ ml.link_type,
219
+ ml.strength::float
220
+ FROM memory_links ml
221
+ JOIN memories m ON m.id = ml.source_id
222
+ WHERE ml.target_id = ANY(seed_ids)
223
+ AND ml.source_id != ALL(seed_ids)
224
+ AND ml.strength >= min_strength
225
+ AND (filter_owner IS NULL OR m.owner_wallet = filter_owner)
226
+ ORDER BY strength DESC
227
+ LIMIT max_results;
228
+ $$;
229
+
230
+ -- 2-hop traversal: from seeds, get connected memories up to depth 2
231
+ CREATE OR REPLACE FUNCTION get_memory_graph(
232
+ seed_ids BIGINT[],
233
+ min_strength FLOAT DEFAULT 0.2,
234
+ max_results INT DEFAULT 30
235
+ )
236
+ RETURNS TABLE (
237
+ memory_id BIGINT,
238
+ hop INT,
239
+ link_type TEXT,
240
+ strength FLOAT
241
+ )
242
+ LANGUAGE plpgsql AS $$
243
+ DECLARE
244
+ hop1_ids BIGINT[];
245
+ BEGIN
246
+ RETURN QUERY
247
+ SELECT g.memory_id, 1 AS hop, g.link_type, g.strength
248
+ FROM get_linked_memories(seed_ids, min_strength, max_results) g;
249
+
250
+ SELECT ARRAY_AGG(DISTINCT g.memory_id)
251
+ INTO hop1_ids
252
+ FROM get_linked_memories(seed_ids, min_strength, max_results) g;
253
+
254
+ IF hop1_ids IS NOT NULL AND array_length(hop1_ids, 1) > 0 THEN
255
+ RETURN QUERY
256
+ SELECT g2.memory_id, 2 AS hop, g2.link_type, g2.strength * 0.5 AS strength
257
+ FROM get_linked_memories(hop1_ids, min_strength, max_results / 2) g2
258
+ WHERE g2.memory_id != ALL(seed_ids)
259
+ AND g2.memory_id != ALL(hop1_ids);
260
+ END IF;
261
+ END;
262
+ $$;
263
+
264
+ -- Hebbian reinforcement: boost link strength for co-retrieved memories
265
+ CREATE OR REPLACE FUNCTION boost_link_strength(
266
+ memory_ids BIGINT[],
267
+ boost_amount FLOAT DEFAULT 0.05
268
+ )
269
+ RETURNS INTEGER
270
+ LANGUAGE plpgsql AS $$
271
+ DECLARE affected INTEGER;
272
+ BEGIN
273
+ UPDATE memory_links
274
+ SET strength = LEAST(1.0, strength + boost_amount)
275
+ WHERE source_id = ANY(memory_ids)
276
+ AND target_id = ANY(memory_ids);
277
+ GET DIAGNOSTICS affected = ROW_COUNT;
278
+ RETURN affected;
279
+ END;
280
+ $$;
281
+
282
+ -- Find unresolved contradiction pairs (no 'resolves' link spanning both memories)
283
+ CREATE OR REPLACE FUNCTION get_unresolved_contradictions(
284
+ max_pairs INT DEFAULT 3,
285
+ filter_owner TEXT DEFAULT NULL
286
+ )
287
+ RETURNS TABLE (
288
+ link_id BIGINT,
289
+ source_id BIGINT,
290
+ target_id BIGINT,
291
+ strength FLOAT
292
+ )
293
+ LANGUAGE sql AS $$
294
+ SELECT
295
+ ml.id AS link_id,
296
+ ml.source_id,
297
+ ml.target_id,
298
+ ml.strength::float
299
+ FROM memory_links ml
300
+ JOIN memories ms ON ms.id = ml.source_id AND ms.decay_factor > 0.1
301
+ JOIN memories mt ON mt.id = ml.target_id AND mt.decay_factor > 0.1
302
+ WHERE ml.link_type = 'contradicts'
303
+ AND (filter_owner IS NULL OR ms.owner_wallet = filter_owner)
304
+ AND (filter_owner IS NULL OR mt.owner_wallet = filter_owner)
305
+ AND NOT EXISTS (
306
+ SELECT 1 FROM memory_links r1
307
+ JOIN memory_links r2 ON r1.source_id = r2.source_id
308
+ WHERE r1.link_type = 'resolves'
309
+ AND r2.link_type = 'resolves'
310
+ AND r1.target_id = ml.source_id
311
+ AND r2.target_id = ml.target_id
312
+ )
313
+ ORDER BY ml.strength DESC, ml.created_at DESC
314
+ LIMIT max_pairs;
315
+ $$;
316
+
317
+ -- Fragment-level semantic search with deduplication to parent memory.
318
+ -- Returns the highest similarity fragment per memory, enabling precision
319
+ -- matching against individual facts/sentences rather than whole memories.
320
+ CREATE OR REPLACE FUNCTION match_memory_fragments(
321
+ query_embedding vector(1024),
322
+ match_threshold float DEFAULT 0.3,
323
+ match_count int DEFAULT 10,
324
+ filter_owner text DEFAULT NULL
325
+ )
326
+ RETURNS TABLE (memory_id bigint, max_similarity float)
327
+ LANGUAGE plpgsql AS $$
328
+ BEGIN
329
+ RETURN QUERY
330
+ SELECT f.memory_id, MAX((1 - (f.embedding <=> query_embedding))::float) AS max_similarity
331
+ FROM memory_fragments f
332
+ JOIN memories m ON m.id = f.memory_id
333
+ WHERE f.embedding IS NOT NULL
334
+ AND (1 - (f.embedding <=> query_embedding)) > match_threshold
335
+ AND (filter_owner IS NULL OR m.owner_wallet = filter_owner)
336
+ GROUP BY f.memory_id
337
+ ORDER BY max_similarity DESC
338
+ LIMIT match_count;
339
+ END;
340
+ $$;
341
+
342
+ -- ============================================================
343
+ -- AGENT DASHBOARD: Orchestration & Monitoring
344
+ -- Multi-agent registry, task management, activity audit log
345
+ -- ============================================================
346
+
347
+ -- Agent registry
348
+ CREATE TABLE IF NOT EXISTS dashboard_agents (
349
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
350
+ name TEXT NOT NULL,
351
+ type TEXT DEFAULT 'claude_code' CHECK (type IN ('claude_code', 'script', 'webhook', 'cogxai_bot', 'content', 'research', 'dev', 'testing', 'design_audit', 'customer_journey')),
352
+ status TEXT DEFAULT 'offline' CHECK (status IN ('online', 'offline', 'paused', 'error')),
353
+ description TEXT,
354
+ config JSONB DEFAULT '{}',
355
+ heartbeat_url TEXT,
356
+ heartbeat_interval_ms INTEGER DEFAULT 300000,
357
+ last_heartbeat_at TIMESTAMPTZ,
358
+ budget_monthly_usd NUMERIC(10,2) DEFAULT 0,
359
+ budget_used_usd NUMERIC(10,2) DEFAULT 0,
360
+ budget_reset_at TIMESTAMPTZ,
361
+ created_at TIMESTAMPTZ DEFAULT NOW(),
362
+ updated_at TIMESTAMPTZ DEFAULT NOW()
363
+ );
364
+
365
+ CREATE INDEX IF NOT EXISTS idx_dashboard_agents_status ON dashboard_agents(status);
366
+ CREATE INDEX IF NOT EXISTS idx_dashboard_agents_type ON dashboard_agents(type);
367
+
368
+ -- Task/ticket system
369
+ CREATE TABLE IF NOT EXISTS dashboard_tasks (
370
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
371
+ agent_id UUID REFERENCES dashboard_agents(id) ON DELETE SET NULL,
372
+ title TEXT NOT NULL,
373
+ description TEXT,
374
+ status TEXT DEFAULT 'pending' CHECK (status IN ('pending', 'in_progress', 'completed', 'failed', 'cancelled')),
375
+ priority TEXT DEFAULT 'medium' CHECK (priority IN ('low', 'medium', 'high', 'critical')),
376
+ parent_task_id UUID REFERENCES dashboard_tasks(id) ON DELETE SET NULL,
377
+ metadata JSONB DEFAULT '{}',
378
+ created_at TIMESTAMPTZ DEFAULT NOW(),
379
+ updated_at TIMESTAMPTZ DEFAULT NOW(),
380
+ completed_at TIMESTAMPTZ
381
+ );
382
+
383
+ CREATE INDEX IF NOT EXISTS idx_dashboard_tasks_agent ON dashboard_tasks(agent_id);
384
+ CREATE INDEX IF NOT EXISTS idx_dashboard_tasks_status ON dashboard_tasks(status);
385
+ CREATE INDEX IF NOT EXISTS idx_dashboard_tasks_priority ON dashboard_tasks(priority);
386
+
387
+ -- Immutable activity/audit log
388
+ CREATE TABLE IF NOT EXISTS dashboard_activity (
389
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
390
+ agent_id UUID REFERENCES dashboard_agents(id) ON DELETE SET NULL,
391
+ action TEXT NOT NULL,
392
+ details JSONB DEFAULT '{}',
393
+ cost_usd NUMERIC(10,4) DEFAULT 0,
394
+ created_at TIMESTAMPTZ DEFAULT NOW()
395
+ );
396
+
397
+ CREATE INDEX IF NOT EXISTS idx_dashboard_activity_agent ON dashboard_activity(agent_id);
398
+ CREATE INDEX IF NOT EXISTS idx_dashboard_activity_action ON dashboard_activity(action);
399
+ CREATE INDEX IF NOT EXISTS idx_dashboard_activity_created ON dashboard_activity(created_at DESC);