@4da/mcp-server 3.2.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 (123) hide show
  1. package/README.md +135 -0
  2. package/dist/db.d.ts +64 -0
  3. package/dist/db.d.ts.map +1 -0
  4. package/dist/db.js +578 -0
  5. package/dist/db.js.map +1 -0
  6. package/dist/index.d.ts +37 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +422 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/llm.d.ts +144 -0
  11. package/dist/llm.d.ts.map +1 -0
  12. package/dist/llm.js +447 -0
  13. package/dist/llm.js.map +1 -0
  14. package/dist/output-manager.d.ts +156 -0
  15. package/dist/output-manager.d.ts.map +1 -0
  16. package/dist/output-manager.js +156 -0
  17. package/dist/output-manager.js.map +1 -0
  18. package/dist/schema-registry.d.ts +46 -0
  19. package/dist/schema-registry.d.ts.map +1 -0
  20. package/dist/schema-registry.js +133 -0
  21. package/dist/schema-registry.js.map +1 -0
  22. package/dist/schemas/config-validator.json +18 -0
  23. package/dist/schemas/context-analysis.json +25 -0
  24. package/dist/schemas/daily-briefing.json +34 -0
  25. package/dist/schemas/explain-relevance.json +19 -0
  26. package/dist/schemas/get-actionable-signals.json +29 -0
  27. package/dist/schemas/get-context.json +17 -0
  28. package/dist/schemas/get-relevant-content.json +26 -0
  29. package/dist/schemas/llm-status.json +13 -0
  30. package/dist/schemas/record-feedback.json +24 -0
  31. package/dist/schemas/score-autopsy.json +30 -0
  32. package/dist/schemas/source-health.json +17 -0
  33. package/dist/schemas/topic-connections.json +34 -0
  34. package/dist/schemas/trend-analysis.json +29 -0
  35. package/dist/tools/attention-report.d.ts +39 -0
  36. package/dist/tools/attention-report.d.ts.map +1 -0
  37. package/dist/tools/attention-report.js +72 -0
  38. package/dist/tools/attention-report.js.map +1 -0
  39. package/dist/tools/config-validator.d.ts +59 -0
  40. package/dist/tools/config-validator.d.ts.map +1 -0
  41. package/dist/tools/config-validator.js +375 -0
  42. package/dist/tools/config-validator.js.map +1 -0
  43. package/dist/tools/context-analysis.d.ts +108 -0
  44. package/dist/tools/context-analysis.d.ts.map +1 -0
  45. package/dist/tools/context-analysis.js +300 -0
  46. package/dist/tools/context-analysis.js.map +1 -0
  47. package/dist/tools/daily-briefing.d.ts +103 -0
  48. package/dist/tools/daily-briefing.d.ts.map +1 -0
  49. package/dist/tools/daily-briefing.js +278 -0
  50. package/dist/tools/daily-briefing.js.map +1 -0
  51. package/dist/tools/explain-relevance.d.ts +36 -0
  52. package/dist/tools/explain-relevance.d.ts.map +1 -0
  53. package/dist/tools/explain-relevance.js +50 -0
  54. package/dist/tools/explain-relevance.js.map +1 -0
  55. package/dist/tools/export-context.d.ts +43 -0
  56. package/dist/tools/export-context.d.ts.map +1 -0
  57. package/dist/tools/export-context.js +104 -0
  58. package/dist/tools/export-context.js.map +1 -0
  59. package/dist/tools/get-actionable-signals.d.ts +65 -0
  60. package/dist/tools/get-actionable-signals.d.ts.map +1 -0
  61. package/dist/tools/get-actionable-signals.js +268 -0
  62. package/dist/tools/get-actionable-signals.js.map +1 -0
  63. package/dist/tools/get-context.d.ts +34 -0
  64. package/dist/tools/get-context.d.ts.map +1 -0
  65. package/dist/tools/get-context.js +43 -0
  66. package/dist/tools/get-context.js.map +1 -0
  67. package/dist/tools/get-relevant-content.d.ts +44 -0
  68. package/dist/tools/get-relevant-content.d.ts.map +1 -0
  69. package/dist/tools/get-relevant-content.js +56 -0
  70. package/dist/tools/get-relevant-content.js.map +1 -0
  71. package/dist/tools/index.d.ts +40 -0
  72. package/dist/tools/index.d.ts.map +1 -0
  73. package/dist/tools/index.js +44 -0
  74. package/dist/tools/index.js.map +1 -0
  75. package/dist/tools/knowledge-gaps.d.ts +36 -0
  76. package/dist/tools/knowledge-gaps.d.ts.map +1 -0
  77. package/dist/tools/knowledge-gaps.js +76 -0
  78. package/dist/tools/knowledge-gaps.js.map +1 -0
  79. package/dist/tools/llm-status.d.ts +45 -0
  80. package/dist/tools/llm-status.d.ts.map +1 -0
  81. package/dist/tools/llm-status.js +92 -0
  82. package/dist/tools/llm-status.js.map +1 -0
  83. package/dist/tools/project-health.d.ts +41 -0
  84. package/dist/tools/project-health.d.ts.map +1 -0
  85. package/dist/tools/project-health.js +71 -0
  86. package/dist/tools/project-health.js.map +1 -0
  87. package/dist/tools/record-feedback.d.ts +39 -0
  88. package/dist/tools/record-feedback.d.ts.map +1 -0
  89. package/dist/tools/record-feedback.js +60 -0
  90. package/dist/tools/record-feedback.js.map +1 -0
  91. package/dist/tools/reverse-mentions.d.ts +38 -0
  92. package/dist/tools/reverse-mentions.d.ts.map +1 -0
  93. package/dist/tools/reverse-mentions.js +57 -0
  94. package/dist/tools/reverse-mentions.js.map +1 -0
  95. package/dist/tools/score-autopsy.d.ts +93 -0
  96. package/dist/tools/score-autopsy.d.ts.map +1 -0
  97. package/dist/tools/score-autopsy.js +288 -0
  98. package/dist/tools/score-autopsy.js.map +1 -0
  99. package/dist/tools/semantic-shifts.d.ts +37 -0
  100. package/dist/tools/semantic-shifts.d.ts.map +1 -0
  101. package/dist/tools/semantic-shifts.js +73 -0
  102. package/dist/tools/semantic-shifts.js.map +1 -0
  103. package/dist/tools/signal-chains.d.ts +45 -0
  104. package/dist/tools/signal-chains.d.ts.map +1 -0
  105. package/dist/tools/signal-chains.js +60 -0
  106. package/dist/tools/signal-chains.js.map +1 -0
  107. package/dist/tools/source-health.d.ts +64 -0
  108. package/dist/tools/source-health.d.ts.map +1 -0
  109. package/dist/tools/source-health.js +176 -0
  110. package/dist/tools/source-health.js.map +1 -0
  111. package/dist/tools/topic-connections.d.ts +112 -0
  112. package/dist/tools/topic-connections.d.ts.map +1 -0
  113. package/dist/tools/topic-connections.js +318 -0
  114. package/dist/tools/topic-connections.js.map +1 -0
  115. package/dist/tools/trend-analysis.d.ts +105 -0
  116. package/dist/tools/trend-analysis.d.ts.map +1 -0
  117. package/dist/tools/trend-analysis.js +295 -0
  118. package/dist/tools/trend-analysis.js.map +1 -0
  119. package/dist/types.d.ts +163 -0
  120. package/dist/types.d.ts.map +1 -0
  121. package/dist/types.js +7 -0
  122. package/dist/types.js.map +1 -0
  123. package/package.json +61 -0
package/dist/index.js ADDED
@@ -0,0 +1,422 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * 4DA MCP Server - Internal Use Only
4
+ *
5
+ * This MCP server provides tool and resource access to 4DA's local database
6
+ * for use with Claude Desktop and other MCP-compatible hosts.
7
+ *
8
+ * IMPORTANT: This server is designed for LOCAL use only. It reads from the
9
+ * user's local 4DA SQLite database. It does NOT implement authentication
10
+ * or authorization - it trusts the local environment.
11
+ *
12
+ * Do NOT expose this server over a network without adding proper auth.
13
+ */
14
+ /**
15
+ * 4DA MCP Server v3.0 - AI Superpower Edition
16
+ *
17
+ * Exposes 4DA's personalized content filtering to AI agents via MCP.
18
+ * Now with local LLM support via Ollama for fully offline AI synthesis.
19
+ *
20
+ * Core Tools (4):
21
+ * - get_relevant_content: Get filtered relevant content from 4DA
22
+ * - get_context: Get the user's context (what 4DA knows about them)
23
+ * - explain_relevance: Explain why an item was considered relevant
24
+ * - record_feedback: Record user feedback for learning
25
+ *
26
+ * AI Superpower Tools (8):
27
+ * - score_autopsy: Deep forensic analysis of relevance scores (AI-powered)
28
+ * - trend_analysis: Statistical patterns and anomaly detection (AI-powered)
29
+ * - daily_briefing: Executive summaries of discoveries (AI-powered)
30
+ * - context_analysis: Optimize your context for better relevance (AI-powered)
31
+ * - source_health: Diagnose source pipeline issues
32
+ * - topic_connections: Build knowledge graphs from content (AI-powered)
33
+ * - config_validator: Validate configuration and detect issues
34
+ * - llm_status: Check LLM configuration and Ollama availability
35
+ */
36
+ import { Server } from "@modelcontextprotocol/sdk/server/index.js";
37
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
38
+ import { CallToolRequestSchema, ListToolsRequestSchema, ListResourcesRequestSchema, ReadResourceRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
39
+ import { readFileSync, existsSync } from "node:fs";
40
+ import { join, dirname } from "node:path";
41
+ import { fileURLToPath } from "node:url";
42
+ import { homedir } from "node:os";
43
+ // Schema registry for slim tool listing
44
+ import { getSlimToolList, getSchemaResources, hasToolSchema, getSchemaFilename } from "./schema-registry.js";
45
+ const __filename = fileURLToPath(import.meta.url);
46
+ const __dirname = dirname(__filename);
47
+ import { createDatabase } from "./db.js";
48
+ // Core Tools
49
+ import { executeGetRelevantContent, executeGetContext, executeExplainRelevance, executeRecordFeedback, } from "./tools/index.js";
50
+ // Superpower Tools
51
+ import { executeScoreAutopsy, executeTrendAnalysis, executeDailyBriefing, executeContextAnalysis, executeSourceHealth, executeTopicConnections, executeConfigValidator, executeLLMStatus, executeGetActionableSignals, executeExportContextPacket, executeKnowledgeGaps, executeSignalChains, executeSemanticShifts, executeReverseMentions, executeAttentionReport, executeProjectHealth, } from "./tools/index.js";
52
+ // =============================================================================
53
+ // Server Setup
54
+ // =============================================================================
55
+ const server = new Server({
56
+ name: "4da-server",
57
+ version: "3.2.0", // Dynamic Context Discovery Edition
58
+ }, {
59
+ capabilities: {
60
+ tools: {},
61
+ resources: {}, // Enable MCP Resources for lazy schema loading
62
+ },
63
+ });
64
+ // Database instance (lazy initialized)
65
+ let db = null;
66
+ /**
67
+ * Get or create database connection
68
+ */
69
+ function getDatabase() {
70
+ if (!db) {
71
+ const dbPath = process.env.FOURDA_DB_PATH;
72
+ db = createDatabase(dbPath);
73
+ }
74
+ return db;
75
+ }
76
+ // =============================================================================
77
+ // Tool Handlers
78
+ // =============================================================================
79
+ /**
80
+ * List available tools (SLIM)
81
+ *
82
+ * Returns one-liner descriptions only (~500 tokens vs ~4500).
83
+ * Full schemas available via MCP Resources: 4da://schema/{tool_name}
84
+ */
85
+ server.setRequestHandler(ListToolsRequestSchema, async () => {
86
+ return {
87
+ tools: getSlimToolList(),
88
+ };
89
+ });
90
+ /**
91
+ * List schema resources
92
+ *
93
+ * Exposes full tool schemas as MCP Resources for lazy loading.
94
+ * Also exposes skill manifest for agent dispatch.
95
+ */
96
+ server.setRequestHandler(ListResourcesRequestSchema, async () => {
97
+ const resources = [
98
+ ...getSchemaResources(),
99
+ // Skill manifest for agent dispatch
100
+ {
101
+ uri: "4da://skills",
102
+ name: "Skill manifest",
103
+ description: "Registry of 4DA skills for Claude Code agent dispatch",
104
+ mimeType: "application/json",
105
+ },
106
+ ];
107
+ return { resources };
108
+ });
109
+ /**
110
+ * Read a resource (schema or skill manifest)
111
+ */
112
+ server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
113
+ const uri = request.params.uri;
114
+ // Handle skill manifest
115
+ if (uri === "4da://skills") {
116
+ const skillsPath = join(homedir(), ".local", "share", "4da", "skills", "registry.json");
117
+ if (!existsSync(skillsPath)) {
118
+ throw new Error("Skill manifest not found. Run 4DA setup to create it.");
119
+ }
120
+ const skillsContent = readFileSync(skillsPath, "utf-8");
121
+ return {
122
+ contents: [
123
+ {
124
+ uri,
125
+ mimeType: "application/json",
126
+ text: skillsContent,
127
+ },
128
+ ],
129
+ };
130
+ }
131
+ // Parse tool name from URI: 4da://schema/{tool_name}
132
+ const match = uri.match(/^4da:\/\/schema\/(.+)$/);
133
+ if (!match) {
134
+ throw new Error(`Invalid resource URI: ${uri}`);
135
+ }
136
+ const toolName = match[1];
137
+ if (!hasToolSchema(toolName)) {
138
+ throw new Error(`Unknown tool: ${toolName}`);
139
+ }
140
+ const schemaFile = getSchemaFilename(toolName);
141
+ if (!schemaFile) {
142
+ throw new Error(`No schema file for tool: ${toolName}`);
143
+ }
144
+ // Read schema from file
145
+ const schemaPath = join(__dirname, "schemas", schemaFile);
146
+ const schemaContent = readFileSync(schemaPath, "utf-8");
147
+ return {
148
+ contents: [
149
+ {
150
+ uri,
151
+ mimeType: "application/json",
152
+ text: schemaContent,
153
+ },
154
+ ],
155
+ };
156
+ });
157
+ /**
158
+ * Execute a tool
159
+ */
160
+ server.setRequestHandler(CallToolRequestSchema, async (request) => {
161
+ const { name, arguments: args } = request.params;
162
+ try {
163
+ const database = getDatabase();
164
+ switch (name) {
165
+ case "get_relevant_content": {
166
+ const params = (args || {});
167
+ const result = executeGetRelevantContent(database, params);
168
+ return {
169
+ content: [
170
+ {
171
+ type: "text",
172
+ text: JSON.stringify(result, null, 2),
173
+ },
174
+ ],
175
+ };
176
+ }
177
+ case "get_context": {
178
+ const params = (args || {});
179
+ const result = executeGetContext(database, params);
180
+ return {
181
+ content: [
182
+ {
183
+ type: "text",
184
+ text: JSON.stringify(result, null, 2),
185
+ },
186
+ ],
187
+ };
188
+ }
189
+ case "explain_relevance": {
190
+ const params = (args || {});
191
+ const result = executeExplainRelevance(database, params);
192
+ return {
193
+ content: [
194
+ {
195
+ type: "text",
196
+ text: JSON.stringify(result, null, 2),
197
+ },
198
+ ],
199
+ };
200
+ }
201
+ case "record_feedback": {
202
+ const params = (args || {});
203
+ const result = executeRecordFeedback(database, params);
204
+ return {
205
+ content: [
206
+ {
207
+ type: "text",
208
+ text: JSON.stringify(result, null, 2),
209
+ },
210
+ ],
211
+ };
212
+ }
213
+ // =========================================================================
214
+ // Superpower Tools (async with LLM synthesis)
215
+ // =========================================================================
216
+ case "score_autopsy": {
217
+ const params = (args || {});
218
+ const result = await executeScoreAutopsy(database, params);
219
+ return {
220
+ content: [
221
+ {
222
+ type: "text",
223
+ text: JSON.stringify(result, null, 2),
224
+ },
225
+ ],
226
+ };
227
+ }
228
+ case "trend_analysis": {
229
+ const params = (args || {});
230
+ const result = await executeTrendAnalysis(database, params);
231
+ return {
232
+ content: [
233
+ {
234
+ type: "text",
235
+ text: JSON.stringify(result, null, 2),
236
+ },
237
+ ],
238
+ };
239
+ }
240
+ case "daily_briefing": {
241
+ const params = (args || {});
242
+ const result = await executeDailyBriefing(database, params);
243
+ return {
244
+ content: [
245
+ {
246
+ type: "text",
247
+ text: JSON.stringify(result, null, 2),
248
+ },
249
+ ],
250
+ };
251
+ }
252
+ case "context_analysis": {
253
+ const params = (args || {});
254
+ const result = await executeContextAnalysis(database, params);
255
+ return {
256
+ content: [
257
+ {
258
+ type: "text",
259
+ text: JSON.stringify(result, null, 2),
260
+ },
261
+ ],
262
+ };
263
+ }
264
+ case "source_health": {
265
+ const params = (args || {});
266
+ const result = executeSourceHealth(database, params);
267
+ return {
268
+ content: [
269
+ {
270
+ type: "text",
271
+ text: JSON.stringify(result, null, 2),
272
+ },
273
+ ],
274
+ };
275
+ }
276
+ case "topic_connections": {
277
+ const params = (args || {});
278
+ const result = await executeTopicConnections(database, params);
279
+ return {
280
+ content: [
281
+ {
282
+ type: "text",
283
+ text: JSON.stringify(result, null, 2),
284
+ },
285
+ ],
286
+ };
287
+ }
288
+ case "config_validator": {
289
+ const params = (args || {});
290
+ const result = executeConfigValidator(database, params);
291
+ return {
292
+ content: [
293
+ {
294
+ type: "text",
295
+ text: JSON.stringify(result, null, 2),
296
+ },
297
+ ],
298
+ };
299
+ }
300
+ case "llm_status": {
301
+ const params = (args || {});
302
+ const result = await executeLLMStatus(database, params);
303
+ return {
304
+ content: [
305
+ {
306
+ type: "text",
307
+ text: JSON.stringify(result, null, 2),
308
+ },
309
+ ],
310
+ };
311
+ }
312
+ case "get_actionable_signals": {
313
+ const params = (args || {});
314
+ const result = executeGetActionableSignals(database, params);
315
+ return {
316
+ content: [
317
+ {
318
+ type: "text",
319
+ text: JSON.stringify(result, null, 2),
320
+ },
321
+ ],
322
+ };
323
+ }
324
+ // =========================================================================
325
+ // Innovation Feature Tools
326
+ // =========================================================================
327
+ case "export_context_packet": {
328
+ const params = (args || {});
329
+ const result = executeExportContextPacket(database, params);
330
+ return {
331
+ content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
332
+ };
333
+ }
334
+ case "knowledge_gaps": {
335
+ const params = (args || {});
336
+ const result = executeKnowledgeGaps(database, params);
337
+ return {
338
+ content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
339
+ };
340
+ }
341
+ case "signal_chains": {
342
+ const params = (args || {});
343
+ const result = executeSignalChains(database, params);
344
+ return {
345
+ content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
346
+ };
347
+ }
348
+ case "semantic_shifts": {
349
+ const params = (args || {});
350
+ const result = executeSemanticShifts(database, params);
351
+ return {
352
+ content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
353
+ };
354
+ }
355
+ case "reverse_mentions": {
356
+ const params = (args || {});
357
+ const result = executeReverseMentions(database, params);
358
+ return {
359
+ content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
360
+ };
361
+ }
362
+ case "attention_report": {
363
+ const params = (args || {});
364
+ const result = executeAttentionReport(database, params);
365
+ return {
366
+ content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
367
+ };
368
+ }
369
+ case "project_health": {
370
+ const params = (args || {});
371
+ const result = executeProjectHealth(database, params);
372
+ return {
373
+ content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
374
+ };
375
+ }
376
+ default:
377
+ throw new Error(`Unknown tool: ${name}`);
378
+ }
379
+ }
380
+ catch (error) {
381
+ const errorMessage = error instanceof Error ? error.message : String(error);
382
+ return {
383
+ content: [
384
+ {
385
+ type: "text",
386
+ text: JSON.stringify({ error: errorMessage }, null, 2),
387
+ },
388
+ ],
389
+ isError: true,
390
+ };
391
+ }
392
+ });
393
+ // =============================================================================
394
+ // Server Lifecycle
395
+ // =============================================================================
396
+ /**
397
+ * Start the MCP server
398
+ */
399
+ async function main() {
400
+ const transport = new StdioServerTransport();
401
+ await server.connect(transport);
402
+ // Handle graceful shutdown
403
+ process.on("SIGINT", () => {
404
+ if (db) {
405
+ db.close();
406
+ }
407
+ process.exit(0);
408
+ });
409
+ process.on("SIGTERM", () => {
410
+ if (db) {
411
+ db.close();
412
+ }
413
+ process.exit(0);
414
+ });
415
+ // Log startup (to stderr so it doesn't interfere with MCP protocol)
416
+ console.error("4DA MCP Server v3.3 (Intelligence Platform) started - 20 tools, compact output, lazy schemas");
417
+ }
418
+ main().catch((error) => {
419
+ console.error("Fatal error:", error);
420
+ process.exit(1);
421
+ });
422
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;GAWG;AACH;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,wCAAwC;AACxC,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE7G,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAkB,MAAM,SAAS,CAAC;AAEzD,aAAa;AACb,OAAO,EAEL,yBAAyB,EAEzB,iBAAiB,EAEjB,uBAAuB,EAEvB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAE1B,mBAAmB;AACnB,OAAO,EAEL,mBAAmB,EAEnB,oBAAoB,EAEpB,oBAAoB,EAEpB,sBAAsB,EAEtB,mBAAmB,EAEnB,uBAAuB,EAEvB,sBAAsB,EAEtB,gBAAgB,EAEhB,2BAA2B,EAE3B,0BAA0B,EAE1B,oBAAoB,EAEpB,mBAAmB,EAEnB,qBAAqB,EAErB,sBAAsB,EAEtB,sBAAsB,EAEtB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AA0B1B,gFAAgF;AAChF,eAAe;AACf,gFAAgF;AAEhF,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB;IACE,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,OAAO,EAAE,oCAAoC;CACvD,EACD;IACE,YAAY,EAAE;QACZ,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,EAAE,EAAE,+CAA+C;KAC/D;CACF,CACF,CAAC;AAEF,uCAAuC;AACvC,IAAI,EAAE,GAA0B,IAAI,CAAC;AAErC;;GAEG;AACH,SAAS,WAAW;IAClB,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QAC1C,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF;;;;;GAKG;AACH,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IAC1D,OAAO;QACL,KAAK,EAAE,eAAe,EAAE;KACzB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,CAAC,iBAAiB,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;IAC9D,MAAM,SAAS,GAAG;QAChB,GAAG,kBAAkB,EAAE;QACvB,oCAAoC;QACpC;YACE,GAAG,EAAE,cAAc;YACnB,IAAI,EAAE,gBAAgB;YACtB,WAAW,EAAE,uDAAuD;YACpE,QAAQ,EAAE,kBAAkB;SAC7B;KACF,CAAC;IAEF,OAAO,EAAE,SAAS,EAAE,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,iBAAiB,CAAC,yBAAyB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IACpE,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;IAE/B,wBAAwB;IACxB,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;QACxF,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QACD,MAAM,aAAa,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACxD,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,GAAG;oBACH,QAAQ,EAAE,kBAAkB;oBAC5B,IAAI,EAAE,aAAa;iBACpB;aACF;SACF,CAAC;IACJ,CAAC;IAED,qDAAqD;IACrD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,wBAAwB;IACxB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAC1D,MAAM,aAAa,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAExD,OAAO;QACL,QAAQ,EAAE;YACR;gBACE,GAAG;gBACH,QAAQ,EAAE,kBAAkB;gBAC5B,IAAI,EAAE,aAAa;aACpB;SACF;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAEjD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;QAE/B,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,sBAAsB,CAAC,CAAC,CAAC;gBAC5B,MAAM,MAAM,GAAG,CAAC,IAAI,IAAI,EAAE,CAA6B,CAAC;gBACxD,MAAM,MAAM,GAAG,yBAAyB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC3D,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;yBACtC;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,MAAM,MAAM,GAAG,CAAC,IAAI,IAAI,EAAE,CAAqB,CAAC;gBAChD,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACnD,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;yBACtC;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,MAAM,MAAM,GAAG,CAAC,IAAI,IAAI,EAAE,CAAsC,CAAC;gBACjE,MAAM,MAAM,GAAG,uBAAuB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACzD,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;yBACtC;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,MAAM,MAAM,GAAG,CAAC,IAAI,IAAI,EAAE,CAAoC,CAAC;gBAC/D,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACvD,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;yBACtC;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,4EAA4E;YAC5E,8CAA8C;YAC9C,4EAA4E;YAE5E,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,MAAM,GAAG,CAAC,IAAI,IAAI,EAAE,CAAkC,CAAC;gBAC7D,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC3D,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;yBACtC;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,MAAM,GAAG,CAAC,IAAI,IAAI,EAAE,CAAmC,CAAC;gBAC9D,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC5D,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;yBACtC;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,MAAM,GAAG,CAAC,IAAI,IAAI,EAAE,CAAmC,CAAC;gBAC9D,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC5D,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;yBACtC;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,MAAM,MAAM,GAAG,CAAC,IAAI,IAAI,EAAE,CAAqC,CAAC;gBAChE,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC9D,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;yBACtC;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,MAAM,GAAG,CAAC,IAAI,IAAI,EAAE,CAAkC,CAAC;gBAC7D,MAAM,MAAM,GAAG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACrD,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;yBACtC;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,MAAM,MAAM,GAAG,CAAC,IAAI,IAAI,EAAE,CAAsC,CAAC;gBACjE,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC/D,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;yBACtC;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,MAAM,MAAM,GAAG,CAAC,IAAI,IAAI,EAAE,CAAqC,CAAC;gBAChE,MAAM,MAAM,GAAG,sBAAsB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACxD,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;yBACtC;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,MAAM,GAAG,CAAC,IAAI,IAAI,EAAE,CAA+B,CAAC;gBAC1D,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACxD,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;yBACtC;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,KAAK,wBAAwB,CAAC,CAAC,CAAC;gBAC9B,MAAM,MAAM,GAAG,CAAC,IAAI,IAAI,EAAE,CAA0C,CAAC;gBACrE,MAAM,MAAM,GAAG,2BAA2B,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC7D,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;yBACtC;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,4EAA4E;YAC5E,2BAA2B;YAC3B,4EAA4E;YAE5E,KAAK,uBAAuB,CAAC,CAAC,CAAC;gBAC7B,MAAM,MAAM,GAAG,CAAC,IAAI,IAAI,EAAE,CAAmC,CAAC;gBAC9D,MAAM,MAAM,GAAG,0BAA0B,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC5D,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBACnE,CAAC;YACJ,CAAC;YAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,MAAM,GAAG,CAAC,IAAI,IAAI,EAAE,CAAmC,CAAC;gBAC9D,MAAM,MAAM,GAAG,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACtD,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBACnE,CAAC;YACJ,CAAC;YAED,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,MAAM,GAAG,CAAC,IAAI,IAAI,EAAE,CAAkC,CAAC;gBAC7D,MAAM,MAAM,GAAG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACrD,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBACnE,CAAC;YACJ,CAAC;YAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,MAAM,MAAM,GAAG,CAAC,IAAI,IAAI,EAAE,CAAoC,CAAC;gBAC/D,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACvD,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBACnE,CAAC;YACJ,CAAC;YAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,MAAM,MAAM,GAAG,CAAC,IAAI,IAAI,EAAE,CAAqC,CAAC;gBAChE,MAAM,MAAM,GAAG,sBAAsB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACxD,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBACnE,CAAC;YACJ,CAAC;YAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,MAAM,MAAM,GAAG,CAAC,IAAI,IAAI,EAAE,CAAqC,CAAC;gBAChE,MAAM,MAAM,GAAG,sBAAsB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACxD,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBACnE,CAAC;YACJ,CAAC;YAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,MAAM,GAAG,CAAC,IAAI,IAAI,EAAE,CAAmC,CAAC;gBAC9D,MAAM,MAAM,GAAG,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACtD,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBACnE,CAAC;YACJ,CAAC;YAED;gBACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;iBACvD;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF;;GAEG;AACH,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,2BAA2B;IAC3B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxB,IAAI,EAAE,EAAE,CAAC;YACP,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QACzB,IAAI,EAAE,EAAE,CAAC;YACP,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,oEAAoE;IACpE,OAAO,CAAC,KAAK,CAAC,8FAA8F,CAAC,CAAC;AAChH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
package/dist/llm.d.ts ADDED
@@ -0,0 +1,144 @@
1
+ /**
2
+ * LLM Client for 4DA MCP Server
3
+ *
4
+ * Provides intelligence synthesis over raw tool data.
5
+ * Supports Anthropic Claude, OpenAI, and Ollama (local).
6
+ *
7
+ * Features:
8
+ * - Tiered model selection (use smaller models for simpler tasks)
9
+ * - Optimized prompts for local models
10
+ * - Automatic fallback
11
+ */
12
+ export interface LLMConfig {
13
+ provider: "anthropic" | "openai" | "ollama" | null;
14
+ anthropic_api_key?: string;
15
+ openai_api_key?: string;
16
+ ollama_url?: string;
17
+ model?: string;
18
+ model_light?: string;
19
+ model_heavy?: string;
20
+ }
21
+ export type TaskComplexity = "light" | "medium" | "heavy";
22
+ export interface SynthesisRequest {
23
+ system: string;
24
+ prompt: string;
25
+ max_tokens?: number;
26
+ complexity?: TaskComplexity;
27
+ }
28
+ export interface SynthesisResult {
29
+ synthesis: string;
30
+ model_used: string;
31
+ tokens_used?: number;
32
+ latency_ms?: number;
33
+ }
34
+ /**
35
+ * Default models for different task complexities
36
+ * Optimized for 16GB VRAM
37
+ */
38
+ export declare const DEFAULT_OLLAMA_MODELS: {
39
+ light: string;
40
+ medium: string;
41
+ heavy: string;
42
+ };
43
+ /**
44
+ * Task complexity by tool
45
+ */
46
+ export declare const TOOL_COMPLEXITY: Record<string, TaskComplexity>;
47
+ /**
48
+ * Get LLM configuration from settings.json file
49
+ */
50
+ export declare function getLLMConfig(_db?: {
51
+ prepare: (sql: string) => {
52
+ get: (...args: unknown[]) => unknown;
53
+ };
54
+ }): LLMConfig;
55
+ /**
56
+ * Check if LLM synthesis is available
57
+ */
58
+ export declare function canSynthesize(config: LLMConfig): boolean;
59
+ /**
60
+ * Synthesize insights using LLM
61
+ */
62
+ export declare function synthesize(config: LLMConfig, request: SynthesisRequest): Promise<SynthesisResult>;
63
+ /**
64
+ * Prompts are optimized for:
65
+ * 1. Clear structure (local models need explicit formatting)
66
+ * 2. Concise output (fewer tokens = faster inference)
67
+ * 3. Specific instructions (reduce ambiguity)
68
+ */
69
+ export declare const SYNTHESIS_PROMPTS: {
70
+ /**
71
+ * Daily Briefing - Executive synthesis
72
+ * Complexity: MEDIUM
73
+ */
74
+ dailyBriefing: {
75
+ complexity: TaskComplexity;
76
+ system: string;
77
+ buildPrompt: (data: unknown, context: unknown) => string;
78
+ };
79
+ /**
80
+ * Score Autopsy - Explain the reasoning
81
+ * Complexity: HEAVY (needs to reason about correctness)
82
+ */
83
+ scoreAutopsy: {
84
+ complexity: TaskComplexity;
85
+ system: string;
86
+ buildPrompt: (data: unknown, context: unknown) => string;
87
+ };
88
+ /**
89
+ * Trend Analysis - Predict and explain
90
+ * Complexity: HEAVY (needs pattern recognition + prediction)
91
+ */
92
+ trendAnalysis: {
93
+ complexity: TaskComplexity;
94
+ system: string;
95
+ buildPrompt: (data: unknown, context: unknown) => string;
96
+ };
97
+ /**
98
+ * Context Analysis - Personalized optimization advice
99
+ * Complexity: MEDIUM (structured recommendations)
100
+ */
101
+ contextAnalysis: {
102
+ complexity: TaskComplexity;
103
+ system: string;
104
+ buildPrompt: (data: unknown) => string;
105
+ };
106
+ /**
107
+ * Topic Connections - Explain the knowledge graph
108
+ * Complexity: HEAVY (needs graph reasoning)
109
+ */
110
+ topicConnections: {
111
+ complexity: TaskComplexity;
112
+ system: string;
113
+ buildPrompt: (data: unknown, context: unknown) => string;
114
+ };
115
+ };
116
+ /**
117
+ * Check if Ollama is running and has required models
118
+ */
119
+ export declare function checkOllamaStatus(baseUrl?: string): Promise<{
120
+ available: boolean;
121
+ models: string[];
122
+ error?: string;
123
+ }>;
124
+ /**
125
+ * Recommended models for 4DA synthesis tasks
126
+ */
127
+ export declare const RECOMMENDED_MODELS: {
128
+ "16GB_VRAM": {
129
+ primary: string;
130
+ fallback: string;
131
+ install: string;
132
+ };
133
+ "12GB_VRAM": {
134
+ primary: string;
135
+ fallback: string;
136
+ install: string;
137
+ };
138
+ "8GB_VRAM": {
139
+ primary: string;
140
+ fallback: string;
141
+ install: string;
142
+ };
143
+ };
144
+ //# sourceMappingURL=llm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../src/llm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC;IACnD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE1D,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAMD;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;CASjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAM1D,CAAC;AA4CF;;GAEG;AACH,wBAAgB,YAAY,CAC1B,GAAG,CAAC,EAAE;IAAE,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK;QAAE,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAA;KAAE,CAAA;CAAE,GAC3E,SAAS,CAiCX;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAaxD;AA0BD;;GAEG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,eAAe,CAAC,CA0B1B;AA4ID;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB;IAC5B;;;OAGG;;oBAEuB,cAAc;;4BAWlB,OAAO,WAAW,OAAO,KAAG,MAAM;;IAaxD;;;OAGG;;oBAEsB,cAAc;;4BAYjB,OAAO,WAAW,OAAO,KAAG,MAAM;;IAUxD;;;OAGG;;oBAEsB,cAAc;;4BAYjB,OAAO,WAAW,OAAO,KAAG,MAAM;;IAUxD;;;OAGG;;oBAEuB,cAAc;;4BAWlB,OAAO,KAAG,MAAM;;IAOtC;;;OAGG;;oBAEsB,cAAc;;4BAYjB,OAAO,WAAW,OAAO,KAAG,MAAM;;CASzD,CAAC;AAMF;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,GAAE,MAAiC,GACzC,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAsBnE;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;CAgB9B,CAAC"}