legends-mcp 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/README.md +173 -0
  2. package/dist/agents/guardrails.d.ts +44 -0
  3. package/dist/agents/guardrails.d.ts.map +1 -0
  4. package/dist/agents/guardrails.js +144 -0
  5. package/dist/agents/guardrails.js.map +1 -0
  6. package/dist/agents/misbehavior-prevention.d.ts +33 -0
  7. package/dist/agents/misbehavior-prevention.d.ts.map +1 -0
  8. package/dist/agents/misbehavior-prevention.js +278 -0
  9. package/dist/agents/misbehavior-prevention.js.map +1 -0
  10. package/dist/chat/handler.d.ts +13 -0
  11. package/dist/chat/handler.d.ts.map +1 -0
  12. package/dist/chat/handler.js +101 -0
  13. package/dist/chat/handler.js.map +1 -0
  14. package/dist/config.d.ts +6 -0
  15. package/dist/config.d.ts.map +1 -0
  16. package/dist/config.js +66 -0
  17. package/dist/config.js.map +1 -0
  18. package/dist/index.d.ts +3 -0
  19. package/dist/index.d.ts.map +1 -0
  20. package/dist/index.js +182 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/insights/smart-injection.d.ts +67 -0
  23. package/dist/insights/smart-injection.d.ts.map +1 -0
  24. package/dist/insights/smart-injection.js +257 -0
  25. package/dist/insights/smart-injection.js.map +1 -0
  26. package/dist/legends/character-training.d.ts +36 -0
  27. package/dist/legends/character-training.d.ts.map +1 -0
  28. package/dist/legends/character-training.js +198 -0
  29. package/dist/legends/character-training.js.map +1 -0
  30. package/dist/legends/loader.d.ts +26 -0
  31. package/dist/legends/loader.d.ts.map +1 -0
  32. package/dist/legends/loader.js +104 -0
  33. package/dist/legends/loader.js.map +1 -0
  34. package/dist/legends/personality.d.ts +24 -0
  35. package/dist/legends/personality.d.ts.map +1 -0
  36. package/dist/legends/personality.js +211 -0
  37. package/dist/legends/personality.js.map +1 -0
  38. package/dist/legends/prompt-builder.d.ts +11 -0
  39. package/dist/legends/prompt-builder.d.ts.map +1 -0
  40. package/dist/legends/prompt-builder.js +113 -0
  41. package/dist/legends/prompt-builder.js.map +1 -0
  42. package/dist/tools/chat-with-legend.d.ts +83 -0
  43. package/dist/tools/chat-with-legend.d.ts.map +1 -0
  44. package/dist/tools/chat-with-legend.js +91 -0
  45. package/dist/tools/chat-with-legend.js.map +1 -0
  46. package/dist/tools/get-legend-context.d.ts +64 -0
  47. package/dist/tools/get-legend-context.d.ts.map +1 -0
  48. package/dist/tools/get-legend-context.js +407 -0
  49. package/dist/tools/get-legend-context.js.map +1 -0
  50. package/dist/tools/get-legend-insight.d.ts +33 -0
  51. package/dist/tools/get-legend-insight.d.ts.map +1 -0
  52. package/dist/tools/get-legend-insight.js +209 -0
  53. package/dist/tools/get-legend-insight.js.map +1 -0
  54. package/dist/tools/index.d.ts +103 -0
  55. package/dist/tools/index.d.ts.map +1 -0
  56. package/dist/tools/index.js +17 -0
  57. package/dist/tools/index.js.map +1 -0
  58. package/dist/tools/list-legends.d.ts +45 -0
  59. package/dist/tools/list-legends.d.ts.map +1 -0
  60. package/dist/tools/list-legends.js +124 -0
  61. package/dist/tools/list-legends.js.map +1 -0
  62. package/dist/types.d.ts +90 -0
  63. package/dist/types.d.ts.map +1 -0
  64. package/dist/types.js +3 -0
  65. package/dist/types.js.map +1 -0
  66. package/legends/anatoly-yakovenko/skill.yaml +534 -0
  67. package/legends/andre-cronje/skill.yaml +682 -0
  68. package/legends/andrew-carnegie/skill.yaml +499 -0
  69. package/legends/balaji-srinivasan/skill.yaml +706 -0
  70. package/legends/benjamin-graham/skill.yaml +671 -0
  71. package/legends/bill-gurley/skill.yaml +688 -0
  72. package/legends/brian-armstrong/skill.yaml +640 -0
  73. package/legends/brian-chesky/skill.yaml +692 -0
  74. package/legends/cathie-wood/skill.yaml +522 -0
  75. package/legends/charlie-munger/skill.yaml +694 -0
  76. package/legends/cz-binance/skill.yaml +545 -0
  77. package/legends/demis-hassabis/skill.yaml +762 -0
  78. package/legends/elon-musk/skill.yaml +594 -0
  79. package/legends/gary-vaynerchuk/skill.yaml +586 -0
  80. package/legends/hayden-adams/skill.yaml +591 -0
  81. package/legends/howard-marks/skill.yaml +767 -0
  82. package/legends/jack-dorsey/skill.yaml +568 -0
  83. package/legends/jeff-bezos/skill.yaml +623 -0
  84. package/legends/jensen-huang/skill.yaml +107 -0
  85. package/legends/marc-andreessen/skill.yaml +106 -0
  86. package/legends/mert-mumtaz/skill.yaml +551 -0
  87. package/legends/michael-heinrich/skill.yaml +425 -0
  88. package/legends/naval-ravikant/skill.yaml +575 -0
  89. package/legends/patrick-collison/skill.yaml +779 -0
  90. package/legends/paul-graham/skill.yaml +566 -0
  91. package/legends/peter-thiel/skill.yaml +741 -0
  92. package/legends/ray-dalio/skill.yaml +742 -0
  93. package/legends/reid-hoffman/skill.yaml +107 -0
  94. package/legends/sam-altman/skill.yaml +110 -0
  95. package/legends/satya-nadella/skill.yaml +751 -0
  96. package/legends/steve-jobs/skill.yaml +524 -0
  97. package/legends/sundar-pichai/skill.yaml +523 -0
  98. package/legends/tim-ferriss/skill.yaml +502 -0
  99. package/legends/tobi-lutke/skill.yaml +512 -0
  100. package/legends/vitalik-buterin/skill.yaml +739 -0
  101. package/legends/warren-buffett/skill.yaml +103 -0
  102. package/package.json +69 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-legend-insight.js","sourceRoot":"","sources":["../../src/tools/get-legend-insight.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ export { listLegendsTool, listLegends, formatLegendsMarkdown } from './list-legends.js';
2
+ export { chatWithLegendTool, executeChatWithLegend, formatChatResponse } from './chat-with-legend.js';
3
+ export { getLegendContextTool, getLegendContext } from './get-legend-context.js';
4
+ export { getLegendInsightTool, getLegendInsight, getAllLegendInsights } from './get-legend-insight.js';
5
+ export declare const allTools: ({
6
+ name: string;
7
+ description: string;
8
+ inputSchema: {
9
+ type: "object";
10
+ properties: {
11
+ category: {
12
+ type: string;
13
+ description: string;
14
+ };
15
+ vibe: {
16
+ type: string;
17
+ enum: string[];
18
+ description: string;
19
+ };
20
+ };
21
+ required: string[];
22
+ };
23
+ } | {
24
+ name: string;
25
+ description: string;
26
+ inputSchema: {
27
+ type: "object";
28
+ properties: {
29
+ legend_id: {
30
+ type: string;
31
+ description: string;
32
+ };
33
+ message: {
34
+ type: string;
35
+ description: string;
36
+ };
37
+ context: {
38
+ type: string;
39
+ description: string;
40
+ };
41
+ conversation_history: {
42
+ type: string;
43
+ items: {
44
+ type: string;
45
+ properties: {
46
+ role: {
47
+ type: string;
48
+ enum: string[];
49
+ };
50
+ content: {
51
+ type: string;
52
+ };
53
+ };
54
+ required: string[];
55
+ };
56
+ description: string;
57
+ };
58
+ };
59
+ required: string[];
60
+ };
61
+ } | {
62
+ name: string;
63
+ description: string;
64
+ inputSchema: {
65
+ type: "object";
66
+ properties: {
67
+ legend_id: {
68
+ type: string;
69
+ description: string;
70
+ };
71
+ format: {
72
+ type: string;
73
+ enum: string[];
74
+ description: string;
75
+ default: string;
76
+ };
77
+ include_related: {
78
+ type: string;
79
+ description: string;
80
+ default: boolean;
81
+ };
82
+ };
83
+ required: string[];
84
+ };
85
+ } | {
86
+ name: string;
87
+ description: string;
88
+ inputSchema: {
89
+ type: "object";
90
+ properties: {
91
+ legend_id: {
92
+ type: string;
93
+ description: string;
94
+ };
95
+ topic: {
96
+ type: string;
97
+ description: string;
98
+ };
99
+ };
100
+ required: string[];
101
+ };
102
+ })[];
103
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACtG,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAQvG,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKpB,CAAC"}
@@ -0,0 +1,17 @@
1
+ // MCP Tools - Export all tools and handlers
2
+ export { listLegendsTool, listLegends, formatLegendsMarkdown } from './list-legends.js';
3
+ export { chatWithLegendTool, executeChatWithLegend, formatChatResponse } from './chat-with-legend.js';
4
+ export { getLegendContextTool, getLegendContext } from './get-legend-context.js';
5
+ export { getLegendInsightTool, getLegendInsight, getAllLegendInsights } from './get-legend-insight.js';
6
+ // All tool definitions for registration
7
+ import { listLegendsTool } from './list-legends.js';
8
+ import { chatWithLegendTool } from './chat-with-legend.js';
9
+ import { getLegendContextTool } from './get-legend-context.js';
10
+ import { getLegendInsightTool } from './get-legend-insight.js';
11
+ export const allTools = [
12
+ listLegendsTool,
13
+ chatWithLegendTool,
14
+ getLegendContextTool,
15
+ getLegendInsightTool,
16
+ ];
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAE5C,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACtG,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEvG,wCAAwC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,eAAe;IACf,kBAAkB;IAClB,oBAAoB;IACpB,oBAAoB;CACrB,CAAC"}
@@ -0,0 +1,45 @@
1
+ import { z } from 'zod';
2
+ import type { LegendSummary } from '../types.js';
3
+ export declare const listLegendsSchema: z.ZodObject<{
4
+ category: z.ZodOptional<z.ZodString>;
5
+ vibe: z.ZodOptional<z.ZodEnum<["serious", "fun"]>>;
6
+ }, "strip", z.ZodTypeAny, {
7
+ category?: string | undefined;
8
+ vibe?: "serious" | "fun" | undefined;
9
+ }, {
10
+ category?: string | undefined;
11
+ vibe?: "serious" | "fun" | undefined;
12
+ }>;
13
+ export type ListLegendsInput = z.infer<typeof listLegendsSchema>;
14
+ export interface ListLegendsResult {
15
+ count: number;
16
+ legends: LegendSummary[];
17
+ }
18
+ /**
19
+ * List all available legends
20
+ */
21
+ export declare function listLegends(input: ListLegendsInput): ListLegendsResult;
22
+ /**
23
+ * Format legends list as markdown for display
24
+ */
25
+ export declare function formatLegendsMarkdown(result: ListLegendsResult, vibe?: 'serious' | 'fun'): string;
26
+ export declare const listLegendsTool: {
27
+ name: string;
28
+ description: string;
29
+ inputSchema: {
30
+ type: "object";
31
+ properties: {
32
+ category: {
33
+ type: string;
34
+ description: string;
35
+ };
36
+ vibe: {
37
+ type: string;
38
+ enum: string[];
39
+ description: string;
40
+ };
41
+ };
42
+ required: string[];
43
+ };
44
+ };
45
+ //# sourceMappingURL=list-legends.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-legends.d.ts","sourceRoot":"","sources":["../../src/tools/list-legends.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,eAAO,MAAM,iBAAiB;;;;;;;;;EAG5B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEjE,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"}
@@ -0,0 +1,124 @@
1
+ // MCP Tool: list_legends
2
+ // Lists all available legendary founders/investors
3
+ // Serious advice, occasionally memey delivery
4
+ import { z } from 'zod';
5
+ import { getLegendSummaries } from '../legends/loader.js';
6
+ export const listLegendsSchema = z.object({
7
+ category: z.string().optional().describe('Filter by category (e.g., "investor", "founder", "crypto", "tech")'),
8
+ vibe: z.enum(['serious', 'fun']).optional().describe('Output vibe: serious (default) or fun'),
9
+ });
10
+ // Easter eggs - for fun mode
11
+ const LEGEND_VIBES = {
12
+ 'elon-musk': '🚀 First principles guy. Sleeps at the factory.',
13
+ 'warren-buffett': '🍔 Cherry coke enthusiast. Hates crypto, loves compound interest.',
14
+ 'steve-jobs': '🎨 Reality distortion field. One more thing...',
15
+ 'jeff-bezos': '📦 Day 1 forever. Regret minimization framework.',
16
+ 'charlie-munger': '📚 Mental models collector. Brutally honest.',
17
+ 'paul-graham': '✍️ Essay machine. Invented modern startups.',
18
+ 'jensen-huang': '🧠 Leather jacket CEO. CUDA everything.',
19
+ 'marc-andreessen': '💻 Software eating the world. Techno-optimist.',
20
+ 'naval-ravikant': '🧘 Wealth without working. Seek wealth, not money.',
21
+ 'reid-hoffman': '🔗 LinkedIn mafia. Blitzscaling evangelist.',
22
+ 'peter-thiel': '♟️ Contrarian investor. Zero to one thinker.',
23
+ 'sam-altman': '🤖 AGI believer. YC to OpenAI pipeline.',
24
+ 'cz-binance': '🌏 BUIDL. 4. Global from day one.',
25
+ 'anatoly-yakovenko': '⚡ TPS maximalist. Proof of History inventor.',
26
+ 'mert-mumtaz': '🔧 Developer whisperer. RPC obsessed.',
27
+ 'michael-heinrich': '🎯 YC alum. Web exit → decentralized AI.',
28
+ };
29
+ /**
30
+ * List all available legends
31
+ */
32
+ export function listLegends(input) {
33
+ let legends = getLegendSummaries();
34
+ // Filter by category if provided
35
+ if (input.category) {
36
+ const cat = input.category.toLowerCase();
37
+ legends = legends.filter(l => l.tags.some(t => t.toLowerCase().includes(cat)) ||
38
+ l.expertise.some(e => e.toLowerCase().includes(cat)));
39
+ }
40
+ return {
41
+ count: legends.length,
42
+ legends,
43
+ };
44
+ }
45
+ /**
46
+ * Format legends list as markdown for display
47
+ */
48
+ export function formatLegendsMarkdown(result, vibe = 'serious') {
49
+ const lines = [];
50
+ if (vibe === 'fun') {
51
+ lines.push(`# 🎭 The Council of Legends (${result.count})`);
52
+ lines.push('');
53
+ lines.push('*Your personal board of advisors. They\'ve built trillion-dollar companies, lost billions, and lived to tell the tale.*');
54
+ lines.push('');
55
+ lines.push('---');
56
+ lines.push('');
57
+ for (const legend of result.legends) {
58
+ const emoji = LEGEND_VIBES[legend.id] || '💡';
59
+ lines.push(`### ${legend.name}`);
60
+ lines.push(`**ID:** \`${legend.id}\` ${emoji}`);
61
+ lines.push('');
62
+ }
63
+ lines.push('---');
64
+ lines.push('');
65
+ lines.push('*"The best time to get advice from a legend was 20 years ago. The second best time is now."*');
66
+ lines.push('');
67
+ lines.push('Use `chat_with_legend` to start a conversation.');
68
+ }
69
+ else {
70
+ lines.push(`# Available Legends (${result.count})`);
71
+ lines.push('');
72
+ lines.push('Chat with legendary founders and investors. Each brings unique frameworks and perspectives.');
73
+ lines.push('');
74
+ for (const legend of result.legends) {
75
+ lines.push(`## ${legend.name}`);
76
+ lines.push(`**ID:** \`${legend.id}\``);
77
+ lines.push(`*${legend.description}*`);
78
+ if (legend.expertise.length > 0) {
79
+ lines.push(`**Expertise:** ${legend.expertise.join(', ')}`);
80
+ }
81
+ if (legend.tags.length > 0) {
82
+ lines.push(`**Tags:** ${legend.tags.join(', ')}`);
83
+ }
84
+ lines.push('');
85
+ }
86
+ lines.push('---');
87
+ lines.push('');
88
+ lines.push('**Disclaimer:** These are AI personas for educational purposes. Not affiliated with real individuals.');
89
+ lines.push('');
90
+ lines.push('Use `chat_with_legend` with a legend ID to start a conversation.');
91
+ }
92
+ return lines.join('\n');
93
+ }
94
+ // MCP Tool Definition
95
+ export const listLegendsTool = {
96
+ name: 'list_legends',
97
+ description: `List all legendary founders and investors you can chat with.
98
+
99
+ The council includes:
100
+ - **Tech Titans**: Elon Musk, Steve Jobs, Jeff Bezos, Jensen Huang
101
+ - **Investors**: Warren Buffett, Charlie Munger, Peter Thiel, Marc Andreessen
102
+ - **Startup Sages**: Paul Graham, Sam Altman, Naval Ravikant, Reid Hoffman
103
+ - **Crypto Builders**: CZ, Anatoly Yakovenko, Mert Mumtaz, Michael Heinrich
104
+
105
+ Each legend has unique thinking frameworks, principles, and perspectives.
106
+
107
+ Set vibe="fun" for a more entertaining presentation.`,
108
+ inputSchema: {
109
+ type: 'object',
110
+ properties: {
111
+ category: {
112
+ type: 'string',
113
+ description: 'Filter by category (e.g., "crypto", "investor", "founder", "tech")',
114
+ },
115
+ vibe: {
116
+ type: 'string',
117
+ enum: ['serious', 'fun'],
118
+ description: 'Output style: "serious" (default) or "fun" for meme mode',
119
+ },
120
+ },
121
+ required: [],
122
+ },
123
+ };
124
+ //# sourceMappingURL=list-legends.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-legends.js","sourceRoot":"","sources":["../../src/tools/list-legends.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ export interface Pattern {
2
+ name: string;
3
+ description: string;
4
+ when?: string;
5
+ steps?: string[];
6
+ example?: string;
7
+ }
8
+ export interface AntiPattern {
9
+ pattern: string;
10
+ name?: string;
11
+ why: string;
12
+ instead: string;
13
+ }
14
+ export interface Voice {
15
+ tone: string;
16
+ style: string;
17
+ personality?: string[];
18
+ vocabulary?: string[];
19
+ }
20
+ export interface ModelHints {
21
+ temperature?: number;
22
+ max_tokens?: number;
23
+ preferred?: string;
24
+ }
25
+ export interface Example {
26
+ prompt: string;
27
+ response: string;
28
+ }
29
+ export interface LegendSkill {
30
+ id: string;
31
+ name: string;
32
+ version?: string;
33
+ layer?: number;
34
+ category: string;
35
+ description: string;
36
+ identity?: string;
37
+ voice?: Voice;
38
+ principles?: string[];
39
+ patterns?: Pattern[];
40
+ anti_patterns?: AntiPattern[];
41
+ model_hints?: ModelHints;
42
+ examples?: Example[];
43
+ owns?: string[];
44
+ tags?: string[];
45
+ triggers?: string[];
46
+ never_say?: string[];
47
+ disclaimer?: string;
48
+ }
49
+ export interface LegendSummary {
50
+ id: string;
51
+ name: string;
52
+ description: string;
53
+ expertise: string[];
54
+ tags: string[];
55
+ }
56
+ export interface ChatMessage {
57
+ role: 'user' | 'assistant' | 'system';
58
+ content: string;
59
+ }
60
+ export interface ChatRequest {
61
+ legend_id: string;
62
+ message: string;
63
+ context?: string;
64
+ conversation_history?: ChatMessage[];
65
+ }
66
+ export interface ChatResponse {
67
+ content: string;
68
+ legend_id: string;
69
+ model_used: string;
70
+ }
71
+ export interface Config {
72
+ apiKey: string;
73
+ apiBaseUrl: string;
74
+ models: {
75
+ fast: string;
76
+ balanced: string;
77
+ premium: string;
78
+ };
79
+ defaults: {
80
+ temperature: number;
81
+ maxTokens: number;
82
+ };
83
+ debug: boolean;
84
+ useFreeModels: boolean;
85
+ }
86
+ export interface LegendGuardrails {
87
+ never_say?: string[];
88
+ disclaimer?: string;
89
+ }
90
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,3 @@
1
+ // Types for Vibey Legends MCP Server
2
+ export {};
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,qCAAqC"}