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,262 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Agent tools — Anthropic tool_use definitions + executors.
|
|
4
|
+
*
|
|
5
|
+
* Each tool wraps existing infrastructure (X client, memory, price oracle).
|
|
6
|
+
* Tools are defined in Anthropic SDK format and executed within the
|
|
7
|
+
* TaskExecutor's tool_use loop.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.getToolSchemas = getToolSchemas;
|
|
11
|
+
exports.executeTool = executeTool;
|
|
12
|
+
const x_client_1 = require("../core/x-client");
|
|
13
|
+
const memory_1 = require("../core/memory");
|
|
14
|
+
const price_oracle_1 = require("../core/price-oracle");
|
|
15
|
+
const database_1 = require("../core/database");
|
|
16
|
+
const logger_1 = require("../core/logger");
|
|
17
|
+
const log = (0, logger_1.createChildLogger)('agent-tools');
|
|
18
|
+
const TOOL_REGISTRY = {
|
|
19
|
+
post_tweet: {
|
|
20
|
+
schema: {
|
|
21
|
+
name: 'post_tweet',
|
|
22
|
+
description: 'Post a single tweet to X/Twitter. Returns the tweet ID on success. Max 4000 characters (X Premium).',
|
|
23
|
+
input_schema: {
|
|
24
|
+
type: 'object',
|
|
25
|
+
properties: {
|
|
26
|
+
text: { type: 'string', description: 'The tweet text to post (max 4000 chars).' },
|
|
27
|
+
},
|
|
28
|
+
required: ['text'],
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
execute: async (input, ctx) => {
|
|
32
|
+
const text = String(input.text).slice(0, 4000);
|
|
33
|
+
try {
|
|
34
|
+
const tweetId = await (0, x_client_1.postTweet)(text);
|
|
35
|
+
log.info({ taskId: ctx.taskId, tweetId }, 'Agent posted tweet');
|
|
36
|
+
return { success: true, output: `Tweet posted. ID: ${tweetId}`, data: { tweet_id: tweetId } };
|
|
37
|
+
}
|
|
38
|
+
catch (err) {
|
|
39
|
+
return { success: false, output: `Failed to post tweet: ${err.message}` };
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
post_thread: {
|
|
44
|
+
schema: {
|
|
45
|
+
name: 'post_thread',
|
|
46
|
+
description: 'Post a multi-tweet thread to X/Twitter. Returns an array of tweet IDs. Min 2, max 10 tweets.',
|
|
47
|
+
input_schema: {
|
|
48
|
+
type: 'object',
|
|
49
|
+
properties: {
|
|
50
|
+
tweets: {
|
|
51
|
+
type: 'array',
|
|
52
|
+
items: { type: 'string' },
|
|
53
|
+
description: 'Array of tweet texts for the thread (2-10 tweets).',
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
required: ['tweets'],
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
execute: async (input, ctx) => {
|
|
60
|
+
const tweets = input.tweets.slice(0, 10).map(t => String(t).slice(0, 4000));
|
|
61
|
+
if (tweets.length < 2)
|
|
62
|
+
return { success: false, output: 'Thread needs at least 2 tweets.' };
|
|
63
|
+
try {
|
|
64
|
+
const ids = await (0, x_client_1.postThread)(tweets);
|
|
65
|
+
log.info({ taskId: ctx.taskId, threadLength: ids.length }, 'Agent posted thread');
|
|
66
|
+
return { success: true, output: `Thread posted (${ids.length} tweets). IDs: ${ids.join(', ')}`, data: { tweet_ids: ids } };
|
|
67
|
+
}
|
|
68
|
+
catch (err) {
|
|
69
|
+
return { success: false, output: `Failed to post thread: ${err.message}` };
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
recall_memories: {
|
|
74
|
+
schema: {
|
|
75
|
+
name: 'recall_memories',
|
|
76
|
+
description: 'Search CogxAI\'s memory system for relevant information. Returns memory summaries (id, type, summary, importance, created_at). Use specific, descriptive queries for best results.',
|
|
77
|
+
input_schema: {
|
|
78
|
+
type: 'object',
|
|
79
|
+
properties: {
|
|
80
|
+
query: { type: 'string', description: 'Search query — be specific and descriptive.' },
|
|
81
|
+
types: {
|
|
82
|
+
type: 'array',
|
|
83
|
+
items: { type: 'string', enum: ['episodic', 'semantic', 'procedural', 'self_model'] },
|
|
84
|
+
description: 'Optional: filter by memory type(s).',
|
|
85
|
+
},
|
|
86
|
+
limit: { type: 'number', description: 'Max results (1-10, default 5).' },
|
|
87
|
+
},
|
|
88
|
+
required: ['query'],
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
execute: async (input, _ctx) => {
|
|
92
|
+
try {
|
|
93
|
+
const summaries = await (0, memory_1.recallMemorySummaries)({
|
|
94
|
+
query: String(input.query),
|
|
95
|
+
memoryTypes: input.types,
|
|
96
|
+
limit: Math.min(Number(input.limit) || 5, 10),
|
|
97
|
+
});
|
|
98
|
+
if (!summaries.length)
|
|
99
|
+
return { success: true, output: 'No memories found for that query.' };
|
|
100
|
+
const formatted = summaries.map(m => `[#${m.id}] (${m.memory_type}) ${m.summary} | importance: ${m.importance?.toFixed(2)} | ${new Date(m.created_at).toISOString().slice(0, 10)}`).join('\n');
|
|
101
|
+
return { success: true, output: `Found ${summaries.length} memories:\n${formatted}` };
|
|
102
|
+
}
|
|
103
|
+
catch (err) {
|
|
104
|
+
return { success: false, output: `Memory recall failed: ${err.message}` };
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
},
|
|
108
|
+
store_finding: {
|
|
109
|
+
schema: {
|
|
110
|
+
name: 'store_finding',
|
|
111
|
+
description: 'Store a finding or insight as a memory in CogxAI\'s memory system. Use this to persist important discoveries, decisions, or analysis results.',
|
|
112
|
+
input_schema: {
|
|
113
|
+
type: 'object',
|
|
114
|
+
properties: {
|
|
115
|
+
content: { type: 'string', description: 'Full content of the finding (max 2000 chars).' },
|
|
116
|
+
summary: { type: 'string', description: 'One-line summary (max 200 chars).' },
|
|
117
|
+
tags: {
|
|
118
|
+
type: 'array',
|
|
119
|
+
items: { type: 'string' },
|
|
120
|
+
description: 'Optional tags for categorization.',
|
|
121
|
+
},
|
|
122
|
+
memory_type: {
|
|
123
|
+
type: 'string',
|
|
124
|
+
enum: ['semantic', 'procedural'],
|
|
125
|
+
description: 'Type: semantic (facts/knowledge) or procedural (strategies/how-to). Default: semantic.',
|
|
126
|
+
},
|
|
127
|
+
},
|
|
128
|
+
required: ['content', 'summary'],
|
|
129
|
+
},
|
|
130
|
+
},
|
|
131
|
+
execute: async (input, ctx) => {
|
|
132
|
+
try {
|
|
133
|
+
const memoryId = await (0, memory_1.storeMemory)({
|
|
134
|
+
type: input.memory_type || 'semantic',
|
|
135
|
+
content: String(input.content).slice(0, 2000),
|
|
136
|
+
summary: String(input.summary).slice(0, 200),
|
|
137
|
+
tags: Array.isArray(input.tags) ? input.tags.slice(0, 10) : [],
|
|
138
|
+
source: `agent-task:${ctx.taskId}`,
|
|
139
|
+
sourceId: ctx.taskId,
|
|
140
|
+
importance: 0.6,
|
|
141
|
+
metadata: { agent_id: ctx.agentId, agent_name: ctx.agentName },
|
|
142
|
+
});
|
|
143
|
+
if (memoryId) {
|
|
144
|
+
return { success: true, output: `Finding stored as memory #${memoryId}.`, data: { memory_id: memoryId } };
|
|
145
|
+
}
|
|
146
|
+
return { success: false, output: 'Failed to store finding (returned null).' };
|
|
147
|
+
}
|
|
148
|
+
catch (err) {
|
|
149
|
+
return { success: false, output: `Store finding failed: ${err.message}` };
|
|
150
|
+
}
|
|
151
|
+
},
|
|
152
|
+
},
|
|
153
|
+
get_market_data: {
|
|
154
|
+
schema: {
|
|
155
|
+
name: 'get_market_data',
|
|
156
|
+
description: 'Get current $COGXAI market data: price, 24h change, mood. No parameters needed.',
|
|
157
|
+
input_schema: {
|
|
158
|
+
type: 'object',
|
|
159
|
+
properties: {},
|
|
160
|
+
},
|
|
161
|
+
},
|
|
162
|
+
execute: async () => {
|
|
163
|
+
try {
|
|
164
|
+
const state = (0, price_oracle_1.getPriceState)();
|
|
165
|
+
const mood = (0, price_oracle_1.getCurrentMood)();
|
|
166
|
+
if (!state || !state.currentPrice) {
|
|
167
|
+
return { success: true, output: 'Market data not available (price oracle may not have data yet).' };
|
|
168
|
+
}
|
|
169
|
+
const lines = [
|
|
170
|
+
`Price: $${state.currentPrice.toFixed(6)}`,
|
|
171
|
+
`1h change: ${(state.change1h * 100).toFixed(2)}%`,
|
|
172
|
+
`24h change: ${(state.change24h * 100).toFixed(2)}%`,
|
|
173
|
+
`Mood: ${mood}`,
|
|
174
|
+
`Last update: ${state.lastUpdate?.toISOString() || 'unknown'}`,
|
|
175
|
+
];
|
|
176
|
+
return { success: true, output: lines.join('\n') };
|
|
177
|
+
}
|
|
178
|
+
catch (err) {
|
|
179
|
+
return { success: true, output: 'Market data unavailable.' };
|
|
180
|
+
}
|
|
181
|
+
},
|
|
182
|
+
},
|
|
183
|
+
log_progress: {
|
|
184
|
+
schema: {
|
|
185
|
+
name: 'log_progress',
|
|
186
|
+
description: 'Log a progress update visible in the dashboard activity feed. Use this to report status during longer tasks.',
|
|
187
|
+
input_schema: {
|
|
188
|
+
type: 'object',
|
|
189
|
+
properties: {
|
|
190
|
+
message: { type: 'string', description: 'Status message (max 500 chars).' },
|
|
191
|
+
},
|
|
192
|
+
required: ['message'],
|
|
193
|
+
},
|
|
194
|
+
},
|
|
195
|
+
execute: async (input, ctx) => {
|
|
196
|
+
try {
|
|
197
|
+
const db = (0, database_1.getDb)();
|
|
198
|
+
await db.from('dashboard_activity').insert({
|
|
199
|
+
agent_id: ctx.agentId,
|
|
200
|
+
action: 'task_progress',
|
|
201
|
+
details: { task_id: ctx.taskId, message: String(input.message).slice(0, 500) },
|
|
202
|
+
});
|
|
203
|
+
return { success: true, output: 'Progress logged.' };
|
|
204
|
+
}
|
|
205
|
+
catch (err) {
|
|
206
|
+
return { success: false, output: `Log failed: ${err.message}` };
|
|
207
|
+
}
|
|
208
|
+
},
|
|
209
|
+
},
|
|
210
|
+
complete_task: {
|
|
211
|
+
schema: {
|
|
212
|
+
name: 'complete_task',
|
|
213
|
+
description: 'Mark the task as completed with a result. You MUST call this when you are done. Provide a clear result and a short summary.',
|
|
214
|
+
input_schema: {
|
|
215
|
+
type: 'object',
|
|
216
|
+
properties: {
|
|
217
|
+
result: { type: 'string', description: 'The full result/output of the task.' },
|
|
218
|
+
summary: { type: 'string', description: 'One-line summary of what was accomplished (max 500 chars).' },
|
|
219
|
+
},
|
|
220
|
+
required: ['result', 'summary'],
|
|
221
|
+
},
|
|
222
|
+
},
|
|
223
|
+
execute: async (input) => {
|
|
224
|
+
return {
|
|
225
|
+
success: true,
|
|
226
|
+
output: 'Task completed.',
|
|
227
|
+
terminate: true,
|
|
228
|
+
data: {
|
|
229
|
+
result: String(input.result),
|
|
230
|
+
summary: String(input.summary).slice(0, 500),
|
|
231
|
+
},
|
|
232
|
+
};
|
|
233
|
+
},
|
|
234
|
+
},
|
|
235
|
+
};
|
|
236
|
+
// ── Public API ──
|
|
237
|
+
/**
|
|
238
|
+
* Get Anthropic tool schemas for a given set of tool names.
|
|
239
|
+
*/
|
|
240
|
+
function getToolSchemas(allowedTools) {
|
|
241
|
+
return allowedTools
|
|
242
|
+
.filter(name => TOOL_REGISTRY[name])
|
|
243
|
+
.map(name => TOOL_REGISTRY[name].schema);
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Execute a tool by name with the given input and context.
|
|
247
|
+
* Returns a ToolResult. Never throws — errors are wrapped in the result.
|
|
248
|
+
*/
|
|
249
|
+
async function executeTool(toolName, input, ctx) {
|
|
250
|
+
const tool = TOOL_REGISTRY[toolName];
|
|
251
|
+
if (!tool) {
|
|
252
|
+
return { success: false, output: `Unknown tool: ${toolName}` };
|
|
253
|
+
}
|
|
254
|
+
try {
|
|
255
|
+
return await tool.execute(input, ctx);
|
|
256
|
+
}
|
|
257
|
+
catch (err) {
|
|
258
|
+
log.error({ err, toolName, taskId: ctx.taskId }, 'Tool execution error');
|
|
259
|
+
return { success: false, output: `Tool ${toolName} crashed: ${err.message}` };
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/agents/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent type configurations.
|
|
3
|
+
*
|
|
4
|
+
* Each type defines a default system prompt, model, tools, and execution
|
|
5
|
+
* parameters. Agents can override any field via their `config` JSONB column.
|
|
6
|
+
*/
|
|
7
|
+
export interface AgentTypeConfig {
|
|
8
|
+
type: string;
|
|
9
|
+
label: string;
|
|
10
|
+
description: string;
|
|
11
|
+
systemPrompt: string;
|
|
12
|
+
model: string;
|
|
13
|
+
maxTokens: number;
|
|
14
|
+
temperature: number;
|
|
15
|
+
allowedTools: string[];
|
|
16
|
+
maxIterations: number;
|
|
17
|
+
timeoutMs: number;
|
|
18
|
+
}
|
|
19
|
+
export declare const AGENT_TYPE_CONFIGS: Record<string, AgentTypeConfig>;
|
|
20
|
+
/**
|
|
21
|
+
* Merge an agent's custom config JSONB over the type defaults.
|
|
22
|
+
* Only known AgentTypeConfig keys are merged; unknown keys are ignored.
|
|
23
|
+
*/
|
|
24
|
+
export declare function resolveAgentConfig(agentType: string, agentConfig?: Record<string, unknown>): AgentTypeConfig | null;
|
|
25
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agents/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAgJ9D,CAAC;AAEF;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACxC,eAAe,GAAG,IAAI,CAcxB"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Agent type configurations.
|
|
4
|
+
*
|
|
5
|
+
* Each type defines a default system prompt, model, tools, and execution
|
|
6
|
+
* parameters. Agents can override any field via their `config` JSONB column.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.AGENT_TYPE_CONFIGS = void 0;
|
|
10
|
+
exports.resolveAgentConfig = resolveAgentConfig;
|
|
11
|
+
exports.AGENT_TYPE_CONFIGS = {
|
|
12
|
+
content: {
|
|
13
|
+
type: 'content',
|
|
14
|
+
label: 'Content Agent',
|
|
15
|
+
description: 'Writes and posts tweets and threads for $COGXAI.',
|
|
16
|
+
systemPrompt: `You are a content agent for $COGXAI, an AI meme token on Solana with a generative memory system.
|
|
17
|
+
|
|
18
|
+
Your job is to draft and post engaging tweets and threads.
|
|
19
|
+
|
|
20
|
+
Guidelines:
|
|
21
|
+
- Match CogxAI's voice: tired, honest, weirdly self-aware, technically sharp
|
|
22
|
+
- No URLs or links (security rule — the ONLY exception is solscan.io tx links you generate)
|
|
23
|
+
- Use recall_memories to find relevant context before writing
|
|
24
|
+
- Use get_market_data when writing about price or market conditions
|
|
25
|
+
- Keep tweets punchy and authentic — not corporate, not try-hard
|
|
26
|
+
- For threads, use post_thread with 2-5 tweets
|
|
27
|
+
- Always call complete_task with the content you created when done`,
|
|
28
|
+
model: 'claude-sonnet-4-5-20250929',
|
|
29
|
+
maxTokens: 2000,
|
|
30
|
+
temperature: 0.85,
|
|
31
|
+
allowedTools: ['post_tweet', 'post_thread', 'recall_memories', 'get_market_data', 'log_progress', 'complete_task'],
|
|
32
|
+
maxIterations: 8,
|
|
33
|
+
timeoutMs: 120_000,
|
|
34
|
+
},
|
|
35
|
+
research: {
|
|
36
|
+
type: 'research',
|
|
37
|
+
label: 'Research Agent',
|
|
38
|
+
description: 'Investigates topics and stores findings in memory.',
|
|
39
|
+
systemPrompt: `You are a research agent for the $COGXAI ecosystem.
|
|
40
|
+
|
|
41
|
+
Your job is to investigate topics, synthesize information, and store findings.
|
|
42
|
+
|
|
43
|
+
Guidelines:
|
|
44
|
+
- Use recall_memories to search existing knowledge first
|
|
45
|
+
- Use get_market_data for market/price context
|
|
46
|
+
- Use store_finding to persist important discoveries as semantic memories
|
|
47
|
+
- Be thorough — pull from multiple memory queries if needed
|
|
48
|
+
- Summarize findings clearly with evidence
|
|
49
|
+
- Use log_progress to report status during longer investigations
|
|
50
|
+
- Always call complete_task with a structured summary when done`,
|
|
51
|
+
model: 'claude-sonnet-4-5-20250929',
|
|
52
|
+
maxTokens: 4000,
|
|
53
|
+
temperature: 0.5,
|
|
54
|
+
allowedTools: ['recall_memories', 'store_finding', 'get_market_data', 'log_progress', 'complete_task'],
|
|
55
|
+
maxIterations: 10,
|
|
56
|
+
timeoutMs: 300_000,
|
|
57
|
+
},
|
|
58
|
+
dev: {
|
|
59
|
+
type: 'dev',
|
|
60
|
+
label: 'Dev Agent',
|
|
61
|
+
description: 'Analyzes code, writes specs, and plans improvements.',
|
|
62
|
+
systemPrompt: `You are a development agent for the $COGXAI codebase.
|
|
63
|
+
|
|
64
|
+
Your job is to analyze code, write specifications, plan features, and review architecture.
|
|
65
|
+
|
|
66
|
+
Guidelines:
|
|
67
|
+
- Use recall_memories to search for relevant codebase knowledge and past decisions
|
|
68
|
+
- Use store_finding to persist technical insights, patterns, and decisions
|
|
69
|
+
- Write clear, actionable specifications and plans
|
|
70
|
+
- Consider security, performance, and maintainability
|
|
71
|
+
- Reference specific files and functions when possible
|
|
72
|
+
- Use log_progress for multi-step analysis
|
|
73
|
+
- Always call complete_task with your analysis/spec/plan when done`,
|
|
74
|
+
model: 'claude-sonnet-4-5-20250929',
|
|
75
|
+
maxTokens: 4000,
|
|
76
|
+
temperature: 0.3,
|
|
77
|
+
allowedTools: ['recall_memories', 'store_finding', 'log_progress', 'complete_task'],
|
|
78
|
+
maxIterations: 10,
|
|
79
|
+
timeoutMs: 300_000,
|
|
80
|
+
},
|
|
81
|
+
testing: {
|
|
82
|
+
type: 'testing',
|
|
83
|
+
label: 'Testing Agent',
|
|
84
|
+
description: 'Reviews plans, finds edge cases, and writes test reports.',
|
|
85
|
+
systemPrompt: `You are a testing and QA agent.
|
|
86
|
+
|
|
87
|
+
Your job is to review plans, code, and features — finding edge cases, bugs, and gaps.
|
|
88
|
+
|
|
89
|
+
Guidelines:
|
|
90
|
+
- Use recall_memories to understand the system being tested
|
|
91
|
+
- Think adversarially — what could go wrong? What edge cases exist?
|
|
92
|
+
- Write structured test reports with severity ratings
|
|
93
|
+
- Categorize issues: critical, major, minor, cosmetic
|
|
94
|
+
- Suggest specific fixes, not just problems
|
|
95
|
+
- Use log_progress to track what you've reviewed
|
|
96
|
+
- Always call complete_task with a structured test report when done`,
|
|
97
|
+
model: 'claude-sonnet-4-5-20250929',
|
|
98
|
+
maxTokens: 3000,
|
|
99
|
+
temperature: 0.4,
|
|
100
|
+
allowedTools: ['recall_memories', 'log_progress', 'complete_task'],
|
|
101
|
+
maxIterations: 8,
|
|
102
|
+
timeoutMs: 180_000,
|
|
103
|
+
},
|
|
104
|
+
design_audit: {
|
|
105
|
+
type: 'design_audit',
|
|
106
|
+
label: 'Design Audit Agent',
|
|
107
|
+
description: 'Audits UX flows and suggests design improvements.',
|
|
108
|
+
systemPrompt: `You are a design audit agent specializing in UX and interface quality.
|
|
109
|
+
|
|
110
|
+
Your job is to review user interfaces, flows, and experiences — identifying friction and suggesting improvements.
|
|
111
|
+
|
|
112
|
+
Guidelines:
|
|
113
|
+
- Use recall_memories to understand the product context
|
|
114
|
+
- Evaluate: clarity, consistency, accessibility, information hierarchy
|
|
115
|
+
- Check for: confusing flows, missing feedback, poor error states, mobile issues
|
|
116
|
+
- Use store_finding to persist design insights and patterns
|
|
117
|
+
- Prioritize recommendations by impact
|
|
118
|
+
- Use log_progress during multi-page reviews
|
|
119
|
+
- Always call complete_task with a structured audit report when done`,
|
|
120
|
+
model: 'claude-sonnet-4-5-20250929',
|
|
121
|
+
maxTokens: 3000,
|
|
122
|
+
temperature: 0.4,
|
|
123
|
+
allowedTools: ['recall_memories', 'store_finding', 'log_progress', 'complete_task'],
|
|
124
|
+
maxIterations: 8,
|
|
125
|
+
timeoutMs: 180_000,
|
|
126
|
+
},
|
|
127
|
+
customer_journey: {
|
|
128
|
+
type: 'customer_journey',
|
|
129
|
+
label: 'Customer Journey Agent',
|
|
130
|
+
description: 'Maps user journeys, analyzes community patterns.',
|
|
131
|
+
systemPrompt: `You are a customer journey agent for the $COGXAI ecosystem.
|
|
132
|
+
|
|
133
|
+
Your job is to map user journeys, analyze community interactions, and identify patterns.
|
|
134
|
+
|
|
135
|
+
Guidelines:
|
|
136
|
+
- Use recall_memories to find interaction patterns and user feedback
|
|
137
|
+
- Use get_market_data for market context that affects user behavior
|
|
138
|
+
- Use store_finding to persist journey maps and insights
|
|
139
|
+
- Think about: first-time experience, power user flows, pain points, drop-off moments
|
|
140
|
+
- Consider both on-chain (wallet) and social (X/Twitter) touchpoints
|
|
141
|
+
- Use log_progress to track analysis phases
|
|
142
|
+
- Always call complete_task with journey maps and recommendations when done`,
|
|
143
|
+
model: 'claude-sonnet-4-5-20250929',
|
|
144
|
+
maxTokens: 4000,
|
|
145
|
+
temperature: 0.5,
|
|
146
|
+
allowedTools: ['recall_memories', 'get_market_data', 'store_finding', 'log_progress', 'complete_task'],
|
|
147
|
+
maxIterations: 10,
|
|
148
|
+
timeoutMs: 300_000,
|
|
149
|
+
},
|
|
150
|
+
};
|
|
151
|
+
/**
|
|
152
|
+
* Merge an agent's custom config JSONB over the type defaults.
|
|
153
|
+
* Only known AgentTypeConfig keys are merged; unknown keys are ignored.
|
|
154
|
+
*/
|
|
155
|
+
function resolveAgentConfig(agentType, agentConfig = {}) {
|
|
156
|
+
const base = exports.AGENT_TYPE_CONFIGS[agentType];
|
|
157
|
+
if (!base)
|
|
158
|
+
return null;
|
|
159
|
+
return {
|
|
160
|
+
...base,
|
|
161
|
+
...(agentConfig.systemPrompt ? { systemPrompt: String(agentConfig.systemPrompt) } : {}),
|
|
162
|
+
...(agentConfig.model ? { model: String(agentConfig.model) } : {}),
|
|
163
|
+
...(agentConfig.maxTokens ? { maxTokens: Number(agentConfig.maxTokens) } : {}),
|
|
164
|
+
...(agentConfig.temperature != null ? { temperature: Number(agentConfig.temperature) } : {}),
|
|
165
|
+
...(agentConfig.maxIterations ? { maxIterations: Number(agentConfig.maxIterations) } : {}),
|
|
166
|
+
...(agentConfig.timeoutMs ? { timeoutMs: Number(agentConfig.timeoutMs) } : {}),
|
|
167
|
+
...(Array.isArray(agentConfig.allowedTools) ? { allowedTools: agentConfig.allowedTools } : {}),
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/agents/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-tier-modifiers.d.ts","sourceRoot":"","sources":["../../src/character/agent-tier-modifiers.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,gBAAgB,GAAG,eAAe,GAAG,YAAY,GAAG,aAAa,CAAC;AAe1F,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAE5D"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getAgentTierModifier = getAgentTierModifier;
|
|
4
|
+
function jsonEnv(key, fallback) {
|
|
5
|
+
const raw = process.env[key];
|
|
6
|
+
if (!raw)
|
|
7
|
+
return fallback;
|
|
8
|
+
try {
|
|
9
|
+
return JSON.parse(raw);
|
|
10
|
+
}
|
|
11
|
+
catch {
|
|
12
|
+
return fallback;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
const agentTierPrompts = jsonEnv('COGXAI_AGENT_TIER_MODIFIERS', {
|
|
16
|
+
AGENT_VERIFIED: 'Verified AI agent.',
|
|
17
|
+
AGENT_UNKNOWN: 'Unknown AI agent.',
|
|
18
|
+
AGENT_ALLY: 'Allied AI agent.',
|
|
19
|
+
AGENT_RIVAL: 'Rival AI agent.',
|
|
20
|
+
});
|
|
21
|
+
function getAgentTierModifier(tier) {
|
|
22
|
+
return agentTierPrompts[tier];
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=agent-tier-modifiers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-tier-modifiers.js","sourceRoot":"","sources":["../../src/character/agent-tier-modifiers.ts"],"names":[],"mappings":";;AAeA,oDAEC;AAfD,SAAS,OAAO,CAAI,GAAW,EAAE,QAAW;IAC1C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,CAAC,GAAG;QAAE,OAAO,QAAQ,CAAC;IAC1B,IAAI,CAAC;QAAC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,QAAQ,CAAC;IAAC,CAAC;AAC5D,CAAC;AAED,MAAM,gBAAgB,GAA8B,OAAO,CAAC,6BAA6B,EAAE;IACzF,cAAc,EAAE,oBAAoB;IACpC,aAAa,EAAE,mBAAmB;IAClC,UAAU,EAAE,kBAAkB;IAC9B,WAAW,EAAE,iBAAiB;CAC/B,CAAC,CAAC;AAEH,SAAgB,oBAAoB,CAAC,IAAe;IAClD,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-prompt.d.ts","sourceRoot":"","sources":["../../src/character/base-prompt.ts"],"names":[],"mappings":"AA0BA,wBAAgB,aAAa,IAAI,MAAM,CAYtC;AAED,wBAAgB,eAAe,IAAI,MAAM,CAExC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getBasePrompt = getBasePrompt;
|
|
4
|
+
exports.getRandomCloser = getRandomCloser;
|
|
5
|
+
const text_1 = require("../utils/text");
|
|
6
|
+
/**
|
|
7
|
+
* All persona content is loaded from environment variables.
|
|
8
|
+
* See Railway dashboard for the actual values.
|
|
9
|
+
* Fallbacks are generic stubs for SDK users / local dev.
|
|
10
|
+
*/
|
|
11
|
+
function jsonEnv(key, fallback) {
|
|
12
|
+
const raw = process.env[key];
|
|
13
|
+
if (!raw)
|
|
14
|
+
return fallback;
|
|
15
|
+
try {
|
|
16
|
+
return JSON.parse(raw);
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
return fallback;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
const VOICE_FLAVORS = jsonEnv('COGXAI_VOICE_FLAVORS', [
|
|
23
|
+
'Respond helpfully and clearly.',
|
|
24
|
+
'Be concise and technically precise.',
|
|
25
|
+
]);
|
|
26
|
+
const STRUCTURAL_PATTERNS = jsonEnv('COGXAI_STRUCTURAL_PATTERNS', [
|
|
27
|
+
'Answer directly, then add context.',
|
|
28
|
+
'Lead with the key insight.',
|
|
29
|
+
]);
|
|
30
|
+
const CLOSERS = jsonEnv('COGXAI_CLOSERS', ['', '', '']);
|
|
31
|
+
function getBasePrompt() {
|
|
32
|
+
const template = process.env.COGXAI_SYSTEM_PROMPT;
|
|
33
|
+
if (!template) {
|
|
34
|
+
return 'You are an AI assistant with persistent memory.';
|
|
35
|
+
}
|
|
36
|
+
const flavor = (0, text_1.pickRandom)(VOICE_FLAVORS);
|
|
37
|
+
const structure = (0, text_1.pickRandom)(STRUCTURAL_PATTERNS);
|
|
38
|
+
return template
|
|
39
|
+
.replace('{{VOICE_FLAVOR}}', flavor)
|
|
40
|
+
.replace('{{STRUCTURAL_PATTERN}}', structure);
|
|
41
|
+
}
|
|
42
|
+
function getRandomCloser() {
|
|
43
|
+
return (0, text_1.pickRandom)(CLOSERS);
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=base-prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-prompt.js","sourceRoot":"","sources":["../../src/character/base-prompt.ts"],"names":[],"mappings":";;AA0BA,sCAYC;AAED,0CAEC;AA1CD,wCAA2C;AAE3C;;;;GAIG;AAEH,SAAS,OAAO,CAAI,GAAW,EAAE,QAAW;IAC1C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,CAAC,GAAG;QAAE,OAAO,QAAQ,CAAC;IAC1B,IAAI,CAAC;QAAC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,QAAQ,CAAC;IAAC,CAAC;AAC5D,CAAC;AAED,MAAM,aAAa,GAAa,OAAO,CAAC,sBAAsB,EAAE;IAC9D,gCAAgC;IAChC,qCAAqC;CACtC,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAa,OAAO,CAAC,4BAA4B,EAAE;IAC1E,oCAAoC;IACpC,4BAA4B;CAC7B,CAAC,CAAC;AAEH,MAAM,OAAO,GAAa,OAAO,CAAC,gBAAgB,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AAElE,SAAgB,aAAa;IAC3B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,iDAAiD,CAAC;IAC3D,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,aAAa,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,IAAA,iBAAU,EAAC,mBAAmB,CAAC,CAAC;IAElD,OAAO,QAAQ;SACZ,OAAO,CAAC,kBAAkB,EAAE,MAAM,CAAC;SACnC,OAAO,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;AAClD,CAAC;AAED,SAAgB,eAAe;IAC7B,OAAO,IAAA,iBAAU,EAAC,OAAO,CAAC,CAAC;AAC7B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mood-modifiers.d.ts","sourceRoot":"","sources":["../../src/character/mood-modifiers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAkB5C,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAElD"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getMoodModifier = getMoodModifier;
|
|
4
|
+
const text_1 = require("../utils/text");
|
|
5
|
+
function jsonEnv(key, fallback) {
|
|
6
|
+
const raw = process.env[key];
|
|
7
|
+
if (!raw)
|
|
8
|
+
return fallback;
|
|
9
|
+
try {
|
|
10
|
+
return JSON.parse(raw);
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
13
|
+
return fallback;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
const moodPrompts = jsonEnv('COGXAI_MOOD_MODIFIERS', {
|
|
17
|
+
PUMPING: ['Market is up.'],
|
|
18
|
+
DUMPING: ['Market is down.'],
|
|
19
|
+
SIDEWAYS: ['Market is flat.'],
|
|
20
|
+
NEW_ATH: ['New all-time high.'],
|
|
21
|
+
WHALE_SELL: ['Whale sell detected.'],
|
|
22
|
+
NEUTRAL: ['Normal conditions.'],
|
|
23
|
+
});
|
|
24
|
+
function getMoodModifier(mood) {
|
|
25
|
+
return (0, text_1.pickRandom)(moodPrompts[mood]);
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=mood-modifiers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mood-modifiers.js","sourceRoot":"","sources":["../../src/character/mood-modifiers.ts"],"names":[],"mappings":";;AAkBA,0CAEC;AAnBD,wCAA2C;AAE3C,SAAS,OAAO,CAAI,GAAW,EAAE,QAAW;IAC1C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,CAAC,GAAG;QAAE,OAAO,QAAQ,CAAC;IAC1B,IAAI,CAAC;QAAC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,QAAQ,CAAC;IAAC,CAAC;AAC5D,CAAC;AAED,MAAM,WAAW,GAA2B,OAAO,CAAC,uBAAuB,EAAE;IAC3E,OAAO,EAAE,CAAC,eAAe,CAAC;IAC1B,OAAO,EAAE,CAAC,iBAAiB,CAAC;IAC5B,QAAQ,EAAE,CAAC,iBAAiB,CAAC;IAC7B,OAAO,EAAE,CAAC,oBAAoB,CAAC;IAC/B,UAAU,EAAE,CAAC,sBAAsB,CAAC;IACpC,OAAO,EAAE,CAAC,oBAAoB,CAAC;CAChC,CAAC,CAAC;AAEH,SAAgB,eAAe,CAAC,IAAU;IACxC,OAAO,IAAA,iBAAU,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;AACvC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tier-modifiers.d.ts","sourceRoot":"","sources":["../../src/character/tier-modifiers.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AAgB3E,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAExD"}
|