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.
- package/LICENSE +21 -0
- package/README.md +691 -0
- package/dist/agents/executor.d.ts +17 -0
- package/dist/agents/executor.d.ts.map +1 -0
- package/dist/agents/executor.js +336 -0
- package/dist/agents/executor.js.map +1 -0
- package/dist/agents/index.d.ts +9 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +18 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/tools.d.ts +31 -0
- package/dist/agents/tools.d.ts.map +1 -0
- package/dist/agents/tools.js +262 -0
- package/dist/agents/tools.js.map +1 -0
- package/dist/agents/types.d.ts +25 -0
- package/dist/agents/types.d.ts.map +1 -0
- package/dist/agents/types.js +170 -0
- package/dist/agents/types.js.map +1 -0
- package/dist/character/agent-tier-modifiers.d.ts +3 -0
- package/dist/character/agent-tier-modifiers.d.ts.map +1 -0
- package/dist/character/agent-tier-modifiers.js +24 -0
- package/dist/character/agent-tier-modifiers.js.map +1 -0
- package/dist/character/base-prompt.d.ts +3 -0
- package/dist/character/base-prompt.d.ts.map +1 -0
- package/dist/character/base-prompt.js +45 -0
- package/dist/character/base-prompt.js.map +1 -0
- package/dist/character/mood-modifiers.d.ts +3 -0
- package/dist/character/mood-modifiers.d.ts.map +1 -0
- package/dist/character/mood-modifiers.js +27 -0
- package/dist/character/mood-modifiers.js.map +1 -0
- package/dist/character/tier-modifiers.d.ts +3 -0
- package/dist/character/tier-modifiers.d.ts.map +1 -0
- package/dist/character/tier-modifiers.js +25 -0
- package/dist/character/tier-modifiers.js.map +1 -0
- package/dist/cli/banner.d.ts +20 -0
- package/dist/cli/banner.d.ts.map +1 -0
- package/dist/cli/banner.js +73 -0
- package/dist/cli/banner.js.map +1 -0
- package/dist/cli/export.d.ts +2 -0
- package/dist/cli/export.d.ts.map +1 -0
- package/dist/cli/export.js +176 -0
- package/dist/cli/export.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +80 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/init.d.ts +2 -0
- package/dist/cli/init.d.ts.map +1 -0
- package/dist/cli/init.js +541 -0
- package/dist/cli/init.js.map +1 -0
- package/dist/cli/register.d.ts +2 -0
- package/dist/cli/register.d.ts.map +1 -0
- package/dist/cli/register.js +121 -0
- package/dist/cli/register.js.map +1 -0
- package/dist/cli/setup.d.ts +3 -0
- package/dist/cli/setup.d.ts.map +1 -0
- package/dist/cli/setup.js +403 -0
- package/dist/cli/setup.js.map +1 -0
- package/dist/cli/ship.d.ts +2 -0
- package/dist/cli/ship.d.ts.map +1 -0
- package/dist/cli/ship.js +32 -0
- package/dist/cli/ship.js.map +1 -0
- package/dist/config.d.ts +90 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +124 -0
- package/dist/config.js.map +1 -0
- package/dist/core/allium-client.d.ts +32 -0
- package/dist/core/allium-client.d.ts.map +1 -0
- package/dist/core/allium-client.js +162 -0
- package/dist/core/allium-client.js.map +1 -0
- package/dist/core/claude-client.d.ts +31 -0
- package/dist/core/claude-client.d.ts.map +1 -0
- package/dist/core/claude-client.js +172 -0
- package/dist/core/claude-client.js.map +1 -0
- package/dist/core/database.d.ts +17 -0
- package/dist/core/database.d.ts.map +1 -0
- package/dist/core/database.js +499 -0
- package/dist/core/database.js.map +1 -0
- package/dist/core/embeddings.d.ts +28 -0
- package/dist/core/embeddings.d.ts.map +1 -0
- package/dist/core/embeddings.js +212 -0
- package/dist/core/embeddings.js.map +1 -0
- package/dist/core/encryption.d.ts +49 -0
- package/dist/core/encryption.d.ts.map +1 -0
- package/dist/core/encryption.js +136 -0
- package/dist/core/encryption.js.map +1 -0
- package/dist/core/guardrails.d.ts +30 -0
- package/dist/core/guardrails.d.ts.map +1 -0
- package/dist/core/guardrails.js +191 -0
- package/dist/core/guardrails.js.map +1 -0
- package/dist/core/inference.d.ts +37 -0
- package/dist/core/inference.d.ts.map +1 -0
- package/dist/core/inference.js +110 -0
- package/dist/core/inference.js.map +1 -0
- package/dist/core/input-guardrails.d.ts +21 -0
- package/dist/core/input-guardrails.d.ts.map +1 -0
- package/dist/core/input-guardrails.js +59 -0
- package/dist/core/input-guardrails.js.map +1 -0
- package/dist/core/logger.d.ts +3 -0
- package/dist/core/logger.d.ts.map +1 -0
- package/dist/core/logger.js +41 -0
- package/dist/core/logger.js.map +1 -0
- package/dist/core/memory-graph.d.ts +126 -0
- package/dist/core/memory-graph.d.ts.map +1 -0
- package/dist/core/memory-graph.js +451 -0
- package/dist/core/memory-graph.js.map +1 -0
- package/dist/core/memory.d.ts +172 -0
- package/dist/core/memory.d.ts.map +1 -0
- package/dist/core/memory.js +1432 -0
- package/dist/core/memory.js.map +1 -0
- package/dist/core/owner-context.d.ts +8 -0
- package/dist/core/owner-context.d.ts.map +1 -0
- package/dist/core/owner-context.js +31 -0
- package/dist/core/owner-context.js.map +1 -0
- package/dist/core/price-oracle.d.ts +16 -0
- package/dist/core/price-oracle.d.ts.map +1 -0
- package/dist/core/price-oracle.js +162 -0
- package/dist/core/price-oracle.js.map +1 -0
- package/dist/core/solana-client.d.ts +39 -0
- package/dist/core/solana-client.d.ts.map +1 -0
- package/dist/core/solana-client.js +366 -0
- package/dist/core/solana-client.js.map +1 -0
- package/dist/core/telegram-client.d.ts +22 -0
- package/dist/core/telegram-client.d.ts.map +1 -0
- package/dist/core/telegram-client.js +93 -0
- package/dist/core/telegram-client.js.map +1 -0
- package/dist/core/venice-client.d.ts +94 -0
- package/dist/core/venice-client.d.ts.map +1 -0
- package/dist/core/venice-client.js +282 -0
- package/dist/core/venice-client.js.map +1 -0
- package/dist/core/x-client.d.ts +68 -0
- package/dist/core/x-client.d.ts.map +1 -0
- package/dist/core/x-client.js +383 -0
- package/dist/core/x-client.js.map +1 -0
- package/dist/events/event-bus.d.ts +37 -0
- package/dist/events/event-bus.d.ts.map +1 -0
- package/dist/events/event-bus.js +21 -0
- package/dist/events/event-bus.js.map +1 -0
- package/dist/events/handlers.d.ts +6 -0
- package/dist/events/handlers.d.ts.map +1 -0
- package/dist/events/handlers.js +21 -0
- package/dist/events/handlers.js.map +1 -0
- package/dist/features/action-learning.d.ts +61 -0
- package/dist/features/action-learning.d.ts.map +1 -0
- package/dist/features/action-learning.js +424 -0
- package/dist/features/action-learning.js.map +1 -0
- package/dist/features/active-reflection.d.ts +37 -0
- package/dist/features/active-reflection.d.ts.map +1 -0
- package/dist/features/active-reflection.js +376 -0
- package/dist/features/active-reflection.js.map +1 -0
- package/dist/features/agent-tier.d.ts +21 -0
- package/dist/features/agent-tier.d.ts.map +1 -0
- package/dist/features/agent-tier.js +56 -0
- package/dist/features/agent-tier.js.map +1 -0
- package/dist/features/campaign-tracker.d.ts +8 -0
- package/dist/features/campaign-tracker.d.ts.map +1 -0
- package/dist/features/campaign-tracker.js +206 -0
- package/dist/features/campaign-tracker.js.map +1 -0
- package/dist/features/clinamen.d.ts +48 -0
- package/dist/features/clinamen.d.ts.map +1 -0
- package/dist/features/clinamen.js +164 -0
- package/dist/features/clinamen.js.map +1 -0
- package/dist/features/dream-cycle.d.ts +12 -0
- package/dist/features/dream-cycle.d.ts.map +1 -0
- package/dist/features/dream-cycle.js +889 -0
- package/dist/features/dream-cycle.js.map +1 -0
- package/dist/features/market-monitor.d.ts +4 -0
- package/dist/features/market-monitor.d.ts.map +1 -0
- package/dist/features/market-monitor.js +135 -0
- package/dist/features/market-monitor.js.map +1 -0
- package/dist/features/memory-trace.d.ts +75 -0
- package/dist/features/memory-trace.d.ts.map +1 -0
- package/dist/features/memory-trace.js +325 -0
- package/dist/features/memory-trace.js.map +1 -0
- package/dist/features/onchain-opinion.d.ts +5 -0
- package/dist/features/onchain-opinion.d.ts.map +1 -0
- package/dist/features/onchain-opinion.js +70 -0
- package/dist/features/onchain-opinion.js.map +1 -0
- package/dist/features/price-personality.d.ts +4 -0
- package/dist/features/price-personality.d.ts.map +1 -0
- package/dist/features/price-personality.js +156 -0
- package/dist/features/price-personality.js.map +1 -0
- package/dist/features/x-sentiment-monitor.d.ts +8 -0
- package/dist/features/x-sentiment-monitor.d.ts.map +1 -0
- package/dist/features/x-sentiment-monitor.js +289 -0
- package/dist/features/x-sentiment-monitor.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +133 -0
- package/dist/index.js.map +1 -0
- package/dist/knowledge/tokenomics.d.ts +72 -0
- package/dist/knowledge/tokenomics.d.ts.map +1 -0
- package/dist/knowledge/tokenomics.js +140 -0
- package/dist/knowledge/tokenomics.js.map +1 -0
- package/dist/mcp/local-store.d.ts +53 -0
- package/dist/mcp/local-store.d.ts.map +1 -0
- package/dist/mcp/local-store.js +175 -0
- package/dist/mcp/local-store.js.map +1 -0
- package/dist/mcp/server.d.ts +2 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +373 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mentions/classifier.d.ts +3 -0
- package/dist/mentions/classifier.d.ts.map +1 -0
- package/dist/mentions/classifier.js +51 -0
- package/dist/mentions/classifier.js.map +1 -0
- package/dist/mentions/dispatcher.d.ts +3 -0
- package/dist/mentions/dispatcher.d.ts.map +1 -0
- package/dist/mentions/dispatcher.js +404 -0
- package/dist/mentions/dispatcher.js.map +1 -0
- package/dist/mentions/poller.d.ts +3 -0
- package/dist/mentions/poller.d.ts.map +1 -0
- package/dist/mentions/poller.js +45 -0
- package/dist/mentions/poller.js.map +1 -0
- package/dist/sdk/cortex-v2.d.ts +121 -0
- package/dist/sdk/cortex-v2.d.ts.map +1 -0
- package/dist/sdk/cortex-v2.js +207 -0
- package/dist/sdk/cortex-v2.js.map +1 -0
- package/dist/sdk/cortex.d.ts +64 -0
- package/dist/sdk/cortex.d.ts.map +1 -0
- package/dist/sdk/cortex.js +362 -0
- package/dist/sdk/cortex.js.map +1 -0
- package/dist/sdk/http-transport.d.ts +15 -0
- package/dist/sdk/http-transport.d.ts.map +1 -0
- package/dist/sdk/http-transport.js +49 -0
- package/dist/sdk/http-transport.js.map +1 -0
- package/dist/sdk/index.d.ts +5 -0
- package/dist/sdk/index.d.ts.map +1 -0
- package/dist/sdk/index.js +8 -0
- package/dist/sdk/index.js.map +1 -0
- package/dist/sdk/sdk-mode.d.ts +1 -0
- package/dist/sdk/sdk-mode.d.ts.map +1 -0
- package/dist/sdk/sdk-mode.js +5 -0
- package/dist/sdk/sdk-mode.js.map +1 -0
- package/dist/sdk/types.d.ts +48 -0
- package/dist/sdk/types.d.ts.map +1 -0
- package/dist/sdk/types.js +3 -0
- package/dist/sdk/types.js.map +1 -0
- package/dist/services/response.service.d.ts +27 -0
- package/dist/services/response.service.d.ts.map +1 -0
- package/dist/services/response.service.js +62 -0
- package/dist/services/response.service.js.map +1 -0
- package/dist/services/social.service.d.ts +14 -0
- package/dist/services/social.service.d.ts.map +1 -0
- package/dist/services/social.service.js +44 -0
- package/dist/services/social.service.js.map +1 -0
- package/dist/services/telegram.service.d.ts +30 -0
- package/dist/services/telegram.service.d.ts.map +1 -0
- package/dist/services/telegram.service.js +71 -0
- package/dist/services/telegram.service.js.map +1 -0
- package/dist/types/api.d.ts +109 -0
- package/dist/types/api.d.ts.map +1 -0
- package/dist/types/api.js +6 -0
- package/dist/types/api.js.map +1 -0
- package/dist/utils/constants.d.ts +49 -0
- package/dist/utils/constants.d.ts.map +1 -0
- package/dist/utils/constants.js +110 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/env-persona.d.ts +9 -0
- package/dist/utils/env-persona.d.ts.map +1 -0
- package/dist/utils/env-persona.js +53 -0
- package/dist/utils/env-persona.js.map +1 -0
- package/dist/utils/format.d.ts +12 -0
- package/dist/utils/format.d.ts.map +1 -0
- package/dist/utils/format.js +59 -0
- package/dist/utils/format.js.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +20 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/text.d.ts +10 -0
- package/dist/utils/text.d.ts.map +1 -0
- package/dist/utils/text.js +33 -0
- package/dist/utils/text.js.map +1 -0
- package/dist/verify-app/routes.d.ts +3 -0
- package/dist/verify-app/routes.d.ts.map +1 -0
- package/dist/verify-app/routes.js +101 -0
- package/dist/verify-app/routes.js.map +1 -0
- package/dist/webhook/agent-routes.d.ts +3 -0
- package/dist/webhook/agent-routes.d.ts.map +1 -0
- package/dist/webhook/agent-routes.js +314 -0
- package/dist/webhook/agent-routes.js.map +1 -0
- package/dist/webhook/campaign-routes.d.ts +3 -0
- package/dist/webhook/campaign-routes.d.ts.map +1 -0
- package/dist/webhook/campaign-routes.js +333 -0
- package/dist/webhook/campaign-routes.js.map +1 -0
- package/dist/webhook/cortex-routes.d.ts +13 -0
- package/dist/webhook/cortex-routes.d.ts.map +1 -0
- package/dist/webhook/cortex-routes.js +534 -0
- package/dist/webhook/cortex-routes.js.map +1 -0
- package/dist/webhook/dashboard-routes.d.ts +8 -0
- package/dist/webhook/dashboard-routes.d.ts.map +1 -0
- package/dist/webhook/dashboard-routes.js +588 -0
- package/dist/webhook/dashboard-routes.js.map +1 -0
- package/dist/webhook/graph-routes.d.ts +3 -0
- package/dist/webhook/graph-routes.d.ts.map +1 -0
- package/dist/webhook/graph-routes.js +238 -0
- package/dist/webhook/graph-routes.js.map +1 -0
- package/dist/webhook/privy-auth.d.ts +35 -0
- package/dist/webhook/privy-auth.d.ts.map +1 -0
- package/dist/webhook/privy-auth.js +99 -0
- package/dist/webhook/privy-auth.js.map +1 -0
- package/dist/webhook/server.d.ts +4 -0
- package/dist/webhook/server.d.ts.map +1 -0
- package/dist/webhook/server.js +912 -0
- package/dist/webhook/server.js.map +1 -0
- package/package.json +96 -0
- 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);
|