agent-consultation-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 (94) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +140 -0
  3. package/dist/api/index.d.ts +27 -0
  4. package/dist/api/index.js +213 -0
  5. package/dist/api/index.js.map +1 -0
  6. package/dist/api/middleware/security.d.ts +6 -0
  7. package/dist/api/middleware/security.js +28 -0
  8. package/dist/api/middleware/security.js.map +1 -0
  9. package/dist/api/routes/chat.d.ts +2 -0
  10. package/dist/api/routes/chat.js +61 -0
  11. package/dist/api/routes/chat.js.map +1 -0
  12. package/dist/api/routes/config.d.ts +2 -0
  13. package/dist/api/routes/config.js +81 -0
  14. package/dist/api/routes/config.js.map +1 -0
  15. package/dist/api/routes/providers.d.ts +2 -0
  16. package/dist/api/routes/providers.js +225 -0
  17. package/dist/api/routes/providers.js.map +1 -0
  18. package/dist/api/standalone-server.d.ts +12 -0
  19. package/dist/api/standalone-server.js +91 -0
  20. package/dist/api/standalone-server.js.map +1 -0
  21. package/dist/config/defaults.d.ts +17 -0
  22. package/dist/config/defaults.js +30 -0
  23. package/dist/config/defaults.js.map +1 -0
  24. package/dist/config/encryption.d.ts +12 -0
  25. package/dist/config/encryption.js +85 -0
  26. package/dist/config/encryption.js.map +1 -0
  27. package/dist/config/index.d.ts +5 -0
  28. package/dist/config/index.js +6 -0
  29. package/dist/config/index.js.map +1 -0
  30. package/dist/config/manager.d.ts +62 -0
  31. package/dist/config/manager.js +186 -0
  32. package/dist/config/manager.js.map +1 -0
  33. package/dist/config/prompts.d.ts +10 -0
  34. package/dist/config/prompts.js +140 -0
  35. package/dist/config/prompts.js.map +1 -0
  36. package/dist/config/schema.d.ts +141 -0
  37. package/dist/config/schema.js +54 -0
  38. package/dist/config/schema.js.map +1 -0
  39. package/dist/index.d.ts +2 -0
  40. package/dist/index.js +224 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/providers/base.d.ts +44 -0
  43. package/dist/providers/base.js +84 -0
  44. package/dist/providers/base.js.map +1 -0
  45. package/dist/providers/deepseek.d.ts +30 -0
  46. package/dist/providers/deepseek.js +148 -0
  47. package/dist/providers/deepseek.js.map +1 -0
  48. package/dist/providers/index.d.ts +5 -0
  49. package/dist/providers/index.js +8 -0
  50. package/dist/providers/index.js.map +1 -0
  51. package/dist/providers/openai.d.ts +30 -0
  52. package/dist/providers/openai.js +123 -0
  53. package/dist/providers/openai.js.map +1 -0
  54. package/dist/providers/registry.d.ts +37 -0
  55. package/dist/providers/registry.js +65 -0
  56. package/dist/providers/registry.js.map +1 -0
  57. package/dist/providers/types.d.ts +71 -0
  58. package/dist/providers/types.js +2 -0
  59. package/dist/providers/types.js.map +1 -0
  60. package/dist/server/conversation.d.ts +101 -0
  61. package/dist/server/conversation.js +275 -0
  62. package/dist/server/conversation.js.map +1 -0
  63. package/dist/server/index.d.ts +2 -0
  64. package/dist/server/index.js +3 -0
  65. package/dist/server/index.js.map +1 -0
  66. package/dist/server/tools/consult.d.ts +15 -0
  67. package/dist/server/tools/consult.js +164 -0
  68. package/dist/server/tools/consult.js.map +1 -0
  69. package/dist/server/tools/index.d.ts +1 -0
  70. package/dist/server/tools/index.js +2 -0
  71. package/dist/server/tools/index.js.map +1 -0
  72. package/dist/types/config.d.ts +20 -0
  73. package/dist/types/config.js +2 -0
  74. package/dist/types/config.js.map +1 -0
  75. package/dist/types/index.d.ts +3 -0
  76. package/dist/types/index.js +4 -0
  77. package/dist/types/index.js.map +1 -0
  78. package/dist/types/messages.d.ts +48 -0
  79. package/dist/types/messages.js +2 -0
  80. package/dist/types/messages.js.map +1 -0
  81. package/dist/types/models.d.ts +39 -0
  82. package/dist/types/models.js +66 -0
  83. package/dist/types/models.js.map +1 -0
  84. package/dist/ui/index.html +1044 -0
  85. package/dist/utils/errors.d.ts +32 -0
  86. package/dist/utils/errors.js +53 -0
  87. package/dist/utils/errors.js.map +1 -0
  88. package/dist/utils/index.d.ts +2 -0
  89. package/dist/utils/index.js +3 -0
  90. package/dist/utils/index.js.map +1 -0
  91. package/dist/utils/logger.d.ts +13 -0
  92. package/dist/utils/logger.js +73 -0
  93. package/dist/utils/logger.js.map +1 -0
  94. package/package.json +65 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation.js","sourceRoot":"","sources":["../../src/server/conversation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { conversationManager } from './conversation.js';
2
+ export * from './tools/index.js';
@@ -0,0 +1,3 @@
1
+ export { conversationManager } from './conversation.js';
2
+ export * from './tools/index.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { z } from 'zod';
2
+ import { consultRequestSchema, continueRequestSchema, endRequestSchema } from '../../config/schema.js';
3
+ import type { ConsultResponse, ContinueResponse, EndResponse } from '../../types/index.js';
4
+ /**
5
+ * Consult an AI agent for a second opinion
6
+ */
7
+ export declare function consultAgent(input: z.infer<typeof consultRequestSchema>): Promise<ConsultResponse>;
8
+ /**
9
+ * Continue an existing conversation
10
+ */
11
+ export declare function continueConversation(input: z.infer<typeof continueRequestSchema>): Promise<ContinueResponse>;
12
+ /**
13
+ * End a conversation
14
+ */
15
+ export declare function endConversation(input: z.infer<typeof endRequestSchema>): Promise<EndResponse>;
@@ -0,0 +1,164 @@
1
+ import { conversationManager } from '../conversation.js';
2
+ import { getConfigManager, getSystemPromptForMode } from '../../config/index.js';
3
+ import { consultRequestSchema, continueRequestSchema, endRequestSchema, } from '../../config/schema.js';
4
+ import { logger, ProviderNotConfiguredError } from '../../utils/index.js';
5
+ import { MODEL_TO_PROVIDER } from '../../types/index.js';
6
+ import { getProviderRegistry, } from '../../providers/index.js';
7
+ /**
8
+ * Summarize reasoning content for display
9
+ * Extracts key points if the reasoning is too long
10
+ */
11
+ function summarizeReasoning(reasoning, maxLength = 500) {
12
+ if (!reasoning)
13
+ return undefined;
14
+ // If short enough, return as-is
15
+ if (reasoning.length <= maxLength)
16
+ return reasoning;
17
+ // Try to extract key sentences/points
18
+ const lines = reasoning.split('\n').filter(line => line.trim());
19
+ const summary = [];
20
+ let totalLength = 0;
21
+ for (const line of lines) {
22
+ if (totalLength + line.length > maxLength - 50)
23
+ break;
24
+ summary.push(line);
25
+ totalLength += line.length;
26
+ }
27
+ if (summary.length > 0) {
28
+ return summary.join('\n') + '\n... [truncated, ' + reasoning.length + ' chars total]';
29
+ }
30
+ return reasoning.substring(0, maxLength) + '... [truncated]';
31
+ }
32
+ /**
33
+ * Get provider response for a conversation
34
+ */
35
+ async function getProviderResponse(messages, model, systemPrompt) {
36
+ const registry = getProviderRegistry();
37
+ const providerType = MODEL_TO_PROVIDER[model];
38
+ const provider = registry.getProvider(providerType);
39
+ if (!provider.isConfigured()) {
40
+ throw new ProviderNotConfiguredError(providerType);
41
+ }
42
+ const response = await provider.createCompletion(messages, {
43
+ model: model,
44
+ systemPrompt,
45
+ maxTokens: 4096,
46
+ });
47
+ return response;
48
+ }
49
+ /**
50
+ * Convert conversation messages to provider format
51
+ */
52
+ function toProviderMessages(conversationId) {
53
+ const conversation = conversationManager.get(conversationId);
54
+ return conversation.messages.map((m) => ({
55
+ role: m.role,
56
+ content: m.content,
57
+ }));
58
+ }
59
+ /**
60
+ * Consult an AI agent for a second opinion
61
+ */
62
+ export async function consultAgent(input) {
63
+ const validated = consultRequestSchema.parse(input);
64
+ const config = getConfigManager().getConfig();
65
+ // Determine which model to use (default from config)
66
+ const model = config.defaultModel;
67
+ const mode = validated.mode || 'general';
68
+ // Check if the provider for this model is configured
69
+ const providerType = MODEL_TO_PROVIDER[model];
70
+ if (!getConfigManager().isProviderConfigured(providerType)) {
71
+ throw new ProviderNotConfiguredError(providerType);
72
+ }
73
+ logger.info('Starting consultation', { model, mode });
74
+ // Get system prompt for the mode
75
+ const systemPrompt = getSystemPromptForMode(mode);
76
+ // Create conversation
77
+ const conversation = conversationManager.create(model, systemPrompt);
78
+ // Build the user message with optional context
79
+ let userMessage = validated.question;
80
+ if (validated.context) {
81
+ userMessage = `Context:\n${validated.context}\n\nQuestion:\n${validated.question}`;
82
+ }
83
+ // Add user message
84
+ conversationManager.addMessage(conversation.id, 'user', userMessage);
85
+ // Get AI response
86
+ const messages = toProviderMessages(conversation.id);
87
+ const response = await getProviderResponse(messages, model, systemPrompt);
88
+ // Add assistant response
89
+ conversationManager.addMessage(conversation.id, 'assistant', response.content);
90
+ // Build metadata with thinking information
91
+ const responseTime = response.responseTime || 0;
92
+ const metadata = {
93
+ responseTime,
94
+ tokensUsed: response.usage?.totalTokens,
95
+ thinking: response.reasoningContent
96
+ ? {
97
+ summary: summarizeReasoning(response.reasoningContent) || '',
98
+ fullLength: response.reasoningContent.length,
99
+ durationMs: responseTime,
100
+ }
101
+ : undefined,
102
+ };
103
+ logger.info('Consultation completed', {
104
+ conversationId: conversation.id,
105
+ model,
106
+ mode,
107
+ messageCount: conversationManager.getMessageCount(conversation.id),
108
+ responseTime: metadata.responseTime,
109
+ });
110
+ return {
111
+ answer: response.content,
112
+ conversationId: conversation.id,
113
+ model,
114
+ mode,
115
+ messageCount: conversationManager.getMessageCount(conversation.id),
116
+ canContinue: conversationManager.canContinue(conversation.id),
117
+ metadata,
118
+ };
119
+ }
120
+ /**
121
+ * Continue an existing conversation
122
+ */
123
+ export async function continueConversation(input) {
124
+ const validated = continueRequestSchema.parse(input);
125
+ // Get existing conversation
126
+ const conversation = conversationManager.get(validated.conversationId);
127
+ logger.info('Continuing conversation', {
128
+ conversationId: validated.conversationId,
129
+ model: conversation.model,
130
+ });
131
+ // Add user message
132
+ conversationManager.addMessage(validated.conversationId, 'user', validated.message);
133
+ // Get AI response
134
+ const messages = toProviderMessages(validated.conversationId);
135
+ const response = await getProviderResponse(messages, conversation.model, conversation.systemPrompt);
136
+ // Add assistant response
137
+ conversationManager.addMessage(validated.conversationId, 'assistant', response.content);
138
+ logger.info('Conversation continued', {
139
+ conversationId: validated.conversationId,
140
+ messageCount: conversationManager.getMessageCount(validated.conversationId),
141
+ });
142
+ return {
143
+ answer: response.content,
144
+ conversationId: validated.conversationId,
145
+ messageCount: conversationManager.getMessageCount(validated.conversationId),
146
+ canContinue: conversationManager.canContinue(validated.conversationId),
147
+ };
148
+ }
149
+ /**
150
+ * End a conversation
151
+ */
152
+ export async function endConversation(input) {
153
+ const validated = endRequestSchema.parse(input);
154
+ logger.info('Ending conversation', {
155
+ conversationId: validated.conversationId,
156
+ });
157
+ const totalMessages = conversationManager.end(validated.conversationId);
158
+ return {
159
+ status: 'ended',
160
+ conversationId: validated.conversationId,
161
+ totalMessages,
162
+ };
163
+ }
164
+ //# sourceMappingURL=consult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consult.js","sourceRoot":"","sources":["../../../src/server/tools/consult.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export { consultAgent, continueConversation, endConversation } from './consult.js';
@@ -0,0 +1,2 @@
1
+ export { consultAgent, continueConversation, endConversation } from './consult.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { ModelType } from './models.js';
2
+ /**
3
+ * Configuration for a single AI provider
4
+ */
5
+ export interface ProviderConfig {
6
+ apiKey?: string;
7
+ enabled: boolean;
8
+ baseUrl?: string;
9
+ }
10
+ /**
11
+ * Main application configuration
12
+ */
13
+ export interface Config {
14
+ defaultModel: ModelType;
15
+ maxMessages: number;
16
+ providers: {
17
+ deepseek: ProviderConfig;
18
+ openai: ProviderConfig;
19
+ };
20
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export * from './models.js';
2
+ export * from './config.js';
3
+ export * from './messages.js';
@@ -0,0 +1,4 @@
1
+ export * from './models.js';
2
+ export * from './config.js';
3
+ export * from './messages.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Chat message structure
3
+ */
4
+ export interface Message {
5
+ role: 'system' | 'user' | 'assistant';
6
+ content: string;
7
+ }
8
+ /**
9
+ * Response metadata for enhanced tracking
10
+ */
11
+ export interface ResponseMetadata {
12
+ responseTime: number;
13
+ tokensUsed?: number;
14
+ thinking?: {
15
+ summary: string;
16
+ fullLength: number;
17
+ durationMs: number;
18
+ };
19
+ }
20
+ /**
21
+ * Response from consult_agent tool
22
+ */
23
+ export interface ConsultResponse {
24
+ answer: string;
25
+ conversationId: string;
26
+ model: string;
27
+ mode: string;
28
+ messageCount: number;
29
+ canContinue: boolean;
30
+ metadata?: ResponseMetadata;
31
+ }
32
+ /**
33
+ * Response from continue_conversation tool
34
+ */
35
+ export interface ContinueResponse {
36
+ answer: string;
37
+ conversationId: string;
38
+ messageCount: number;
39
+ canContinue: boolean;
40
+ }
41
+ /**
42
+ * Response from end_conversation tool
43
+ */
44
+ export interface EndResponse {
45
+ status: 'ended';
46
+ conversationId: string;
47
+ totalMessages: number;
48
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/types/messages.ts"],"names":[],"mappings":""}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Provider types
3
+ */
4
+ export type ProviderType = 'deepseek' | 'openai';
5
+ /**
6
+ * Supported AI model types
7
+ */
8
+ export type ModelType = 'deepseek-chat' | 'deepseek-reasoner' | 'gpt-5.2' | 'gpt-5.2-pro';
9
+ /**
10
+ * List of all supported models (as const for Zod enum)
11
+ */
12
+ export declare const MODEL_TYPES: readonly ["deepseek-chat", "deepseek-reasoner", "gpt-5.2", "gpt-5.2-pro"];
13
+ /**
14
+ * List of all supported models (array version)
15
+ */
16
+ export declare const MODEL_LIST: ModelType[];
17
+ /**
18
+ * Mapping from model to provider
19
+ */
20
+ export declare const MODEL_TO_PROVIDER: Record<ModelType, ProviderType>;
21
+ /**
22
+ * Model configuration interface
23
+ */
24
+ export interface ModelConfig {
25
+ provider: ProviderType;
26
+ apiModel: string;
27
+ maxTokens: number;
28
+ supportsSystemPrompt: boolean;
29
+ isReasoning: boolean;
30
+ reasoningEffort?: 'low' | 'medium' | 'high';
31
+ }
32
+ /**
33
+ * Model configuration mapping
34
+ */
35
+ export declare const MODEL_CONFIG: Record<ModelType, ModelConfig>;
36
+ /**
37
+ * Default model for consultations
38
+ */
39
+ export declare const DEFAULT_MODEL: ModelType;
@@ -0,0 +1,66 @@
1
+ /**
2
+ * List of all supported models (as const for Zod enum)
3
+ */
4
+ export const MODEL_TYPES = [
5
+ 'deepseek-chat',
6
+ 'deepseek-reasoner',
7
+ 'gpt-5.2',
8
+ 'gpt-5.2-pro',
9
+ ];
10
+ /**
11
+ * List of all supported models (array version)
12
+ */
13
+ export const MODEL_LIST = [...MODEL_TYPES];
14
+ /**
15
+ * Mapping from model to provider
16
+ */
17
+ export const MODEL_TO_PROVIDER = {
18
+ 'deepseek-chat': 'deepseek',
19
+ 'deepseek-reasoner': 'deepseek',
20
+ 'gpt-5.2': 'openai',
21
+ 'gpt-5.2-pro': 'openai',
22
+ };
23
+ /**
24
+ * Model configuration mapping
25
+ */
26
+ export const MODEL_CONFIG = {
27
+ // DeepSeek V3 - Chat (fast, general purpose)
28
+ 'deepseek-chat': {
29
+ provider: 'deepseek',
30
+ apiModel: 'deepseek-chat',
31
+ maxTokens: 8192,
32
+ supportsSystemPrompt: true,
33
+ isReasoning: false,
34
+ },
35
+ // DeepSeek R1 - Reasoner (deep thinking, specialized tasks)
36
+ 'deepseek-reasoner': {
37
+ provider: 'deepseek',
38
+ apiModel: 'deepseek-reasoner',
39
+ maxTokens: 64000,
40
+ supportsSystemPrompt: false,
41
+ isReasoning: true,
42
+ },
43
+ // OpenAI GPT-5.2 - Flagship model (400K context)
44
+ 'gpt-5.2': {
45
+ provider: 'openai',
46
+ apiModel: 'gpt-5.2',
47
+ maxTokens: 400000,
48
+ supportsSystemPrompt: true,
49
+ isReasoning: true,
50
+ reasoningEffort: 'medium',
51
+ },
52
+ // OpenAI GPT-5.2 Pro - More compute, better answers
53
+ 'gpt-5.2-pro': {
54
+ provider: 'openai',
55
+ apiModel: 'gpt-5.2-pro',
56
+ maxTokens: 400000,
57
+ supportsSystemPrompt: true,
58
+ isReasoning: true,
59
+ reasoningEffort: 'high',
60
+ },
61
+ };
62
+ /**
63
+ * Default model for consultations
64
+ */
65
+ export const DEFAULT_MODEL = 'deepseek-reasoner';
66
+ //# sourceMappingURL=models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/types/models.ts"],"names":[],"mappings":"AAcA;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,eAAe;IACf,mBAAmB;IACnB,SAAS;IACT,aAAa;CACL,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAgB,CAAC,GAAG,WAAW,CAAC,CAAC;AAExD;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAoC;IAChE,eAAe,EAAE,UAAU;IAC3B,mBAAmB,EAAE,UAAU;IAC/B,SAAS,EAAE,QAAQ;IACnB,aAAa,EAAE,QAAQ;CACxB,CAAC;AAcF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAmC;IAC1D,6CAA6C;IAC7C,eAAe,EAAE;QACf,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,eAAe;QACzB,SAAS,EAAE,IAAI;QACf,oBAAoB,EAAE,IAAI;QAC1B,WAAW,EAAE,KAAK;KACnB;IACD,4DAA4D;IAC5D,mBAAmB,EAAE;QACnB,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,mBAAmB;QAC7B,SAAS,EAAE,KAAK;QAChB,oBAAoB,EAAE,KAAK;QAC3B,WAAW,EAAE,IAAI;KAClB;IACD,iDAAiD;IACjD,SAAS,EAAE;QACT,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,SAAS;QACnB,SAAS,EAAE,MAAM;QACjB,oBAAoB,EAAE,IAAI;QAC1B,WAAW,EAAE,IAAI;QACjB,eAAe,EAAE,QAAQ;KAC1B;IACD,oDAAoD;IACpD,aAAa,EAAE;QACb,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,aAAa;QACvB,SAAS,EAAE,MAAM;QACjB,oBAAoB,EAAE,IAAI;QAC1B,WAAW,EAAE,IAAI;QACjB,eAAe,EAAE,MAAM;KACxB;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAc,mBAAmB,CAAC"}