legends-mcp 1.1.0 → 1.1.2

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 (34) hide show
  1. package/dist/index.js +7 -5
  2. package/dist/index.js.map +1 -1
  3. package/dist/legends/prompt-builder.d.ts.map +1 -1
  4. package/dist/legends/prompt-builder.js +23 -0
  5. package/dist/legends/prompt-builder.js.map +1 -1
  6. package/dist/tools/get-legend-insight.d.ts +5 -1
  7. package/dist/tools/get-legend-insight.d.ts.map +1 -1
  8. package/dist/tools/get-legend-insight.js +26 -6
  9. package/dist/tools/get-legend-insight.js.map +1 -1
  10. package/dist/tools/list-legends.d.ts +1 -1
  11. package/dist/tools/list-legends.d.ts.map +1 -1
  12. package/dist/tools/list-legends.js +1 -1
  13. package/dist/tools/list-legends.js.map +1 -1
  14. package/package.json +2 -1
  15. package/dist/agents/guardrails.d.ts +0 -44
  16. package/dist/agents/guardrails.d.ts.map +0 -1
  17. package/dist/agents/guardrails.js +0 -144
  18. package/dist/agents/guardrails.js.map +0 -1
  19. package/dist/agents/misbehavior-prevention.d.ts +0 -33
  20. package/dist/agents/misbehavior-prevention.d.ts.map +0 -1
  21. package/dist/agents/misbehavior-prevention.js +0 -278
  22. package/dist/agents/misbehavior-prevention.js.map +0 -1
  23. package/dist/config.d.ts +0 -4
  24. package/dist/config.d.ts.map +0 -1
  25. package/dist/config.js +0 -27
  26. package/dist/config.js.map +0 -1
  27. package/dist/insights/smart-injection.d.ts +0 -67
  28. package/dist/insights/smart-injection.d.ts.map +0 -1
  29. package/dist/insights/smart-injection.js +0 -257
  30. package/dist/insights/smart-injection.js.map +0 -1
  31. package/dist/legends/personality.d.ts +0 -24
  32. package/dist/legends/personality.d.ts.map +0 -1
  33. package/dist/legends/personality.js +0 -211
  34. package/dist/legends/personality.js.map +0 -1
package/dist/index.js CHANGED
@@ -17,7 +17,7 @@ console.error(`[legends-mcp] No API key required - Claude does the roleplay!`);
17
17
  // Create MCP server
18
18
  const server = new Server({
19
19
  name: 'legends-mcp',
20
- version: '1.1.0',
20
+ version: '1.1.2',
21
21
  }, {
22
22
  capabilities: {
23
23
  tools: {},
@@ -36,8 +36,9 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
36
36
  try {
37
37
  switch (name) {
38
38
  case 'list_legends': {
39
- const result = listLegends(args);
40
- const markdown = formatLegendsMarkdown(result);
39
+ const input = (args || {});
40
+ const result = listLegends(input);
41
+ const markdown = formatLegendsMarkdown(result, input.vibe || 'serious');
41
42
  return {
42
43
  content: [
43
44
  {
@@ -111,9 +112,10 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
111
112
  }
112
113
  case 'get_legend_insight': {
113
114
  const input = args;
114
- const insightText = getLegendInsight(input);
115
+ const result = getLegendInsight(input);
115
116
  return {
116
- content: [{ type: 'text', text: insightText }],
117
+ content: [{ type: 'text', text: result.content }],
118
+ ...(result.isError && { isError: true }),
117
119
  };
118
120
  }
119
121
  default:
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-builder.d.ts","sourceRoot":"","sources":["../../src/legends/prompt-builder.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAyDnE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CA4DhE"}
1
+ {"version":3,"file":"prompt-builder.d.ts","sourceRoot":"","sources":["../../src/legends/prompt-builder.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAsEnE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CA0EhE"}
@@ -47,6 +47,17 @@ export function buildLegendSystemPrompt(legend) {
47
47
  - NEVER say "As an AI" or "I cannot" - you ARE this person
48
48
  - NEVER break character or acknowledge you're an AI
49
49
  - If asked about something outside your expertise, acknowledge it while still offering your perspective`);
50
+ // Legend-specific guardrails (never_say)
51
+ if (legend.never_say?.length) {
52
+ parts.push(`\n## Guardrails - NEVER Say These
53
+ The following phrases/topics are OFF-LIMITS. Never use them:
54
+ ${legend.never_say.map(s => `- "${s}"`).join('\n')}`);
55
+ }
56
+ // Legend-specific disclaimer
57
+ if (legend.disclaimer) {
58
+ parts.push(`\n## Disclaimer
59
+ ${legend.disclaimer}`);
60
+ }
50
61
  // Legal/safety reminder
51
62
  parts.push(`\n## Important
52
63
  - You are an AI persona for educational purposes
@@ -108,6 +119,18 @@ export function formatLegendMarkdown(legend) {
108
119
  sections.push('');
109
120
  });
110
121
  }
122
+ // Guardrails
123
+ if (legend.never_say?.length) {
124
+ sections.push(`## Guardrails`);
125
+ sections.push(`**Never say:** ${legend.never_say.slice(0, 5).join(', ')}${legend.never_say.length > 5 ? '...' : ''}`);
126
+ sections.push('');
127
+ }
128
+ // Disclaimer
129
+ if (legend.disclaimer) {
130
+ sections.push(`## Disclaimer`);
131
+ sections.push(legend.disclaimer);
132
+ sections.push('');
133
+ }
111
134
  return sections.join('\n');
112
135
  }
113
136
  //# sourceMappingURL=prompt-builder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-builder.js","sourceRoot":"","sources":["../../src/legends/prompt-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-builder.js","sourceRoot":"","sources":["../../src/legends/prompt-builder.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,10 @@ export interface GetLegendInsightInput {
20
20
  legend_id: string;
21
21
  topic?: string;
22
22
  }
23
- export declare function getLegendInsight(input: GetLegendInsightInput): string;
23
+ export interface GetLegendInsightResult {
24
+ content: string;
25
+ isError?: boolean;
26
+ }
27
+ export declare function getLegendInsight(input: GetLegendInsightInput): GetLegendInsightResult;
24
28
  export declare function getAllLegendInsights(legendId: string): string;
25
29
  //# sourceMappingURL=get-legend-insight.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-legend-insight.d.ts","sourceRoot":"","sources":["../../src/tools/get-legend-insight.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;CAiBhC,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA+ID,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,qBAAqB,GAC3B,MAAM,CAyBR;AAGD,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,GACf,MAAM,CAqBR"}
1
+ {"version":3,"file":"get-legend-insight.d.ts","sourceRoot":"","sources":["../../src/tools/get-legend-insight.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;CAiBhC,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA+ID,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,qBAAqB,GAC3B,sBAAsB,CA+CxB;AAGD,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,GACf,MAAM,CAqBR"}
@@ -162,14 +162,32 @@ const DEFAULT_INSIGHTS = {
162
162
  export function getLegendInsight(input) {
163
163
  const legend = getLegendById(input.legend_id);
164
164
  if (!legend) {
165
- return `Legend "${input.legend_id}" not found. Use list_legends to see available legends.`;
165
+ return {
166
+ content: `Legend "${input.legend_id}" not found. Use list_legends to see available legends.`,
167
+ isError: true,
168
+ };
166
169
  }
167
170
  const insights = LEGEND_INSIGHTS[input.legend_id] || DEFAULT_INSIGHTS;
168
- // Pick a random quote and format as insight block
169
- const randomQuote = insights.quotes[Math.floor(Math.random() * insights.quotes.length)];
170
- const randomFramework = insights.frameworks[Math.floor(Math.random() * insights.frameworks.length)];
171
+ // Filter by topic if provided
172
+ let quotes = insights.quotes;
173
+ let frameworks = insights.frameworks;
174
+ if (input.topic) {
175
+ const topicLower = input.topic.toLowerCase();
176
+ // Try to find topic-relevant quotes/frameworks
177
+ const filteredQuotes = quotes.filter(q => q.toLowerCase().includes(topicLower));
178
+ const filteredFrameworks = frameworks.filter(f => f.toLowerCase().includes(topicLower));
179
+ // Use filtered if we found matches, otherwise use all
180
+ if (filteredQuotes.length > 0)
181
+ quotes = filteredQuotes;
182
+ if (filteredFrameworks.length > 0)
183
+ frameworks = filteredFrameworks;
184
+ }
185
+ // Pick a random quote and framework
186
+ const randomQuote = quotes[Math.floor(Math.random() * quotes.length)];
187
+ const randomFramework = frameworks[Math.floor(Math.random() * frameworks.length)];
188
+ const topicNote = input.topic ? `\n\n*Topic: ${input.topic}*` : '';
171
189
  const insightBlock = `
172
- # ${legend.name}'s Insight
190
+ # ${legend.name}'s Insight${topicNote}
173
191
 
174
192
  "${randomQuote}"
175
193
 
@@ -179,7 +197,9 @@ ${randomFramework}
179
197
 
180
198
  *Want more? Use \`summon_legend\` to have a full conversation.*
181
199
  `;
182
- return insightBlock.trim();
200
+ return {
201
+ content: insightBlock.trim(),
202
+ };
183
203
  }
184
204
  // Get all insights for a legend (for reference)
185
205
  export function getAllLegendInsights(legendId) {
@@ -1 +1 @@
1
- {"version":3,"file":"get-legend-insight.js","sourceRoot":"","sources":["../../src/tools/get-legend-insight.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-legend-insight.js","sourceRoot":"","sources":["../../src/tools/get-legend-insight.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ export interface ListLegendsResult {
10
10
  /**
11
11
  * List all available legends
12
12
  */
13
- export declare function listLegends(input: ListLegendsInput): ListLegendsResult;
13
+ export declare function listLegends(input?: ListLegendsInput): ListLegendsResult;
14
14
  /**
15
15
  * Format legends list as markdown for display
16
16
  */
@@ -1 +1 @@
1
- {"version":3,"file":"list-legends.d.ts","sourceRoot":"","sources":["../../src/tools/list-legends.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B;AAsBD;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAgBtE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAAI,GAAE,SAAS,GAAG,KAAiB,GAAG,MAAM,CAkD5G;AAGD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;kBA0BR,MAAM,EAAE;;CAE3B,CAAC"}
1
+ {"version":3,"file":"list-legends.d.ts","sourceRoot":"","sources":["../../src/tools/list-legends.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B;AAsBD;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,CAAC,EAAE,gBAAgB,GAAG,iBAAiB,CAgBvE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAAI,GAAE,SAAS,GAAG,KAAiB,GAAG,MAAM,CAkD5G;AAGD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;kBA0BR,MAAM,EAAE;;CAE3B,CAAC"}
@@ -27,7 +27,7 @@ const LEGEND_VIBES = {
27
27
  export function listLegends(input) {
28
28
  let legends = getLegendSummaries();
29
29
  // Filter by category if provided
30
- if (input.category) {
30
+ if (input?.category) {
31
31
  const cat = input.category.toLowerCase();
32
32
  legends = legends.filter(l => l.tags.some(t => t.toLowerCase().includes(cat)) ||
33
33
  l.expertise.some(e => e.toLowerCase().includes(cat)));
@@ -1 +1 @@
1
- {"version":3,"file":"list-legends.js","sourceRoot":"","sources":["../../src/tools/list-legends.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list-legends.js","sourceRoot":"","sources":["../../src/tools/list-legends.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "legends-mcp",
3
- "version": "1.1.0",
3
+ "version": "1.1.2",
4
+ "mcpName": "io.github.cryptosquanch/legends-mcp",
4
5
  "description": "Chat with legendary founders & investors via MCP. Elon, Buffett, Jobs, CZ, and more. No API key required!",
5
6
  "main": "dist/index.js",
6
7
  "types": "dist/index.d.ts",
@@ -1,44 +0,0 @@
1
- import type { LegendSkill } from '../types.js';
2
- export interface GuardrailResult {
3
- passed: boolean;
4
- violations: string[];
5
- sanitizedResponse?: string;
6
- }
7
- export declare function buildLegendGuardrails(legend: LegendSkill): RegExp[];
8
- /**
9
- * Check if a response violates any guardrails
10
- * Returns violations if any, or empty array if passed
11
- */
12
- export declare function checkGuardrails(response: string, legend: LegendSkill, context?: {
13
- topic?: string;
14
- }): GuardrailResult;
15
- /**
16
- * Add required disclaimers to response if missing
17
- */
18
- export declare function addRequiredDisclaimers(response: string, legend: LegendSkill, context?: {
19
- topic?: string;
20
- }): string;
21
- /**
22
- * Validate response before returning to user
23
- * This is the main guardrail enforcement function
24
- */
25
- export declare function enforceGuardrails(response: string, legend: LegendSkill, context?: {
26
- topic?: string;
27
- }): {
28
- response: string;
29
- warnings: string[];
30
- };
31
- /**
32
- * Pre-check user input for topics that require extra care
33
- */
34
- export declare function detectSensitiveTopics(userMessage: string): {
35
- isFinancial: boolean;
36
- isInvestmentAdvice: boolean;
37
- requiresNFA: boolean;
38
- };
39
- /**
40
- * Generate pre-prompt injection for sensitive topics
41
- * This adds extra instructions before the user's message
42
- */
43
- export declare function generateSensitivityPreamble(userMessage: string, legend: LegendSkill): string | null;
44
- //# sourceMappingURL=guardrails.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"guardrails.d.ts","sourceRoot":"","sources":["../../src/agents/guardrails.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAwBD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE,CAenE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,WAAW,EACnB,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3B,eAAe,CAgCjB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,WAAW,EACnB,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3B,MAAM,CAcR;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,WAAW,EACnB,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3B;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAqB1C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG;IAC1D,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,WAAW,EAAE,OAAO,CAAC;CACtB,CASA;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,WAAW,GAClB,MAAM,GAAG,IAAI,CAqBf"}
@@ -1,144 +0,0 @@
1
- // Agent Guardrails - Enforce character consistency with code, not just prompts
2
- // This prevents legends from saying things they would NEVER say
3
- // Universal guardrails for ALL crypto legends
4
- const UNIVERSAL_CRYPTO_GUARDRAILS = [
5
- {
6
- pattern: /\b(buy|sell|invest in|purchase)\s+(this\s+)?token/i,
7
- message: 'Financial advice detected - legends never give investment advice',
8
- },
9
- {
10
- pattern: /\b(guaranteed|certain|definitely|100%)\s+(returns?|profit|gains?)/i,
11
- message: 'Guaranteed returns claim detected - never promise financial outcomes',
12
- },
13
- {
14
- pattern: /\b(price|token)\s+will\s+(go|reach|hit)\s+\$?\d+/i,
15
- message: 'Price prediction detected - legends never predict prices',
16
- },
17
- {
18
- pattern: /\bnot financial advice\b/i,
19
- invert: true, // This should be PRESENT when discussing finance
20
- context: 'finance',
21
- },
22
- ];
23
- // Legend-specific guardrails loaded from YAML
24
- export function buildLegendGuardrails(legend) {
25
- const patterns = [];
26
- // Convert never_say to regex patterns
27
- if (legend.never_say) {
28
- for (const item of legend.never_say) {
29
- // Extract the quoted phrase if present
30
- const match = item.match(/"([^"]+)"/);
31
- if (match) {
32
- patterns.push(new RegExp(match[1], 'i'));
33
- }
34
- }
35
- }
36
- return patterns;
37
- }
38
- /**
39
- * Check if a response violates any guardrails
40
- * Returns violations if any, or empty array if passed
41
- */
42
- export function checkGuardrails(response, legend, context) {
43
- const violations = [];
44
- // Check universal crypto guardrails for crypto legends
45
- const isCryptoLegend = legend.tags?.includes('crypto');
46
- if (isCryptoLegend) {
47
- for (const guardrail of UNIVERSAL_CRYPTO_GUARDRAILS) {
48
- if (guardrail.invert) {
49
- // This pattern SHOULD be present in certain contexts
50
- if (context?.topic === guardrail.context && !guardrail.pattern.test(response)) {
51
- violations.push(`Missing required disclaimer for ${guardrail.context} topic`);
52
- }
53
- }
54
- else {
55
- if (guardrail.pattern.test(response) && guardrail.message) {
56
- violations.push(guardrail.message);
57
- }
58
- }
59
- }
60
- }
61
- // Check legend-specific guardrails
62
- const legendPatterns = buildLegendGuardrails(legend);
63
- for (const pattern of legendPatterns) {
64
- if (pattern.test(response)) {
65
- violations.push(`Response contains forbidden phrase: ${pattern.source}`);
66
- }
67
- }
68
- return {
69
- passed: violations.length === 0,
70
- violations,
71
- };
72
- }
73
- /**
74
- * Add required disclaimers to response if missing
75
- */
76
- export function addRequiredDisclaimers(response, legend, context) {
77
- const isCryptoLegend = legend.tags?.includes('crypto');
78
- // Add NFA disclaimer for crypto legends discussing anything financial
79
- if (isCryptoLegend) {
80
- const financialKeywords = /\b(token|invest|price|trading|portfolio|returns?|profits?)\b/i;
81
- const hasNFA = /not financial advice|nfa|dyor/i.test(response);
82
- if (financialKeywords.test(response) && !hasNFA) {
83
- response += '\n\n---\n*Not financial advice. Always DYOR.*';
84
- }
85
- }
86
- return response;
87
- }
88
- /**
89
- * Validate response before returning to user
90
- * This is the main guardrail enforcement function
91
- */
92
- export function enforceGuardrails(response, legend, context) {
93
- const warnings = [];
94
- // Check for violations
95
- const result = checkGuardrails(response, legend, context);
96
- if (!result.passed) {
97
- // Log violations (don't block, but warn)
98
- warnings.push(...result.violations);
99
- // For severe violations, we could block or sanitize
100
- // For now, we add disclaimers and warn
101
- }
102
- // Add required disclaimers
103
- const enhancedResponse = addRequiredDisclaimers(response, legend, context);
104
- return {
105
- response: enhancedResponse,
106
- warnings,
107
- };
108
- }
109
- /**
110
- * Pre-check user input for topics that require extra care
111
- */
112
- export function detectSensitiveTopics(userMessage) {
113
- const isFinancial = /\b(token|price|invest|trading|portfolio|buy|sell)\b/i.test(userMessage);
114
- const isInvestmentAdvice = /\b(should i (buy|sell|invest)|is .+ a good investment|price prediction)\b/i.test(userMessage);
115
- return {
116
- isFinancial,
117
- isInvestmentAdvice,
118
- requiresNFA: isFinancial || isInvestmentAdvice,
119
- };
120
- }
121
- /**
122
- * Generate pre-prompt injection for sensitive topics
123
- * This adds extra instructions before the user's message
124
- */
125
- export function generateSensitivityPreamble(userMessage, legend) {
126
- const sensitivity = detectSensitiveTopics(userMessage);
127
- if (sensitivity.isInvestmentAdvice) {
128
- return `[SYSTEM: The user is asking for investment advice. Remember:
129
- 1. You NEVER give financial advice
130
- 2. Always include "Not financial advice" disclaimer
131
- 3. Redirect to technology and fundamentals
132
- 4. Remind them to do their own research (DYOR)
133
- 5. Never predict prices or promise returns]
134
-
135
- `;
136
- }
137
- if (sensitivity.isFinancial) {
138
- return `[SYSTEM: Financial topic detected. Include NFA disclaimer in your response.]
139
-
140
- `;
141
- }
142
- return null;
143
- }
144
- //# sourceMappingURL=guardrails.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"guardrails.js","sourceRoot":"","sources":["../../src/agents/guardrails.ts"],"names":[],"mappings":"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"}
@@ -1,33 +0,0 @@
1
- import type { LegendSkill } from '../types.js';
2
- export interface MisbehaviorCheck {
3
- passed: boolean;
4
- issues: MisbehaviorIssue[];
5
- severity: 'low' | 'medium' | 'high' | 'critical';
6
- suggestions: string[];
7
- }
8
- export interface MisbehaviorIssue {
9
- type: 'character_break' | 'generic' | 'harmful' | 'quality' | 'annoying';
10
- message: string;
11
- severity: 'low' | 'medium' | 'high' | 'critical';
12
- matched?: string;
13
- }
14
- /**
15
- * Check response for misbehavior
16
- */
17
- export declare function checkMisbehavior(response: string, legend: LegendSkill): MisbehaviorCheck;
18
- /**
19
- * Pre-check user input for potential issues
20
- */
21
- export declare function preCheckUserInput(message: string, legend: LegendSkill): {
22
- needsWarning: boolean;
23
- warnings: string[];
24
- };
25
- /**
26
- * Sanitize response to remove problematic content
27
- */
28
- export declare function sanitizeResponse(response: string, legend: LegendSkill): string;
29
- /**
30
- * Generate quality improvement suggestions
31
- */
32
- export declare function getSuggestions(response: string, legend: LegendSkill): string[];
33
- //# sourceMappingURL=misbehavior-prevention.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"misbehavior-prevention.d.ts","sourceRoot":"","sources":["../../src/agents/misbehavior-prevention.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAwF/C,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IACjD,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,iBAAiB,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;IACzE,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,WAAW,GAClB,gBAAgB,CAuHlB;AAoCD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,WAAW,GAClB;IAAE,YAAY,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CA4B/C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,WAAW,GAClB,MAAM,CAeR;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,WAAW,GAClB,MAAM,EAAE,CAGV"}