@stackmemoryai/stackmemory 0.2.7 → 0.2.8

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 (297) hide show
  1. package/README.md +25 -8
  2. package/dist/scripts/cancel-duplicate-tasks.js +2 -1
  3. package/dist/scripts/cancel-duplicate-tasks.js.map +1 -1
  4. package/dist/scripts/list-linear-tasks.js +3 -4
  5. package/dist/scripts/list-linear-tasks.js.map +1 -1
  6. package/dist/scripts/merge-linear-duplicates-safe.js +4 -2
  7. package/dist/scripts/merge-linear-duplicates-safe.js.map +1 -1
  8. package/dist/scripts/show-linear-summary.js +4 -1
  9. package/dist/scripts/show-linear-summary.js.map +1 -1
  10. package/dist/scripts/status.js +6 -2
  11. package/dist/scripts/status.js.map +1 -1
  12. package/dist/src/cli/auto-detect.js.map +1 -1
  13. package/dist/src/cli/claude-sm.js.map +1 -1
  14. package/dist/src/cli/commands/config.d.ts +6 -0
  15. package/dist/src/cli/commands/config.d.ts.map +1 -0
  16. package/dist/src/cli/commands/config.js +224 -0
  17. package/dist/src/cli/commands/config.js.map +1 -0
  18. package/dist/src/cli/commands/linear.d.ts.map +1 -1
  19. package/dist/src/cli/commands/linear.js +123 -47
  20. package/dist/src/cli/commands/linear.js.map +1 -1
  21. package/dist/src/cli/index.d.ts.map +1 -1
  22. package/dist/src/cli/index.js +48 -1
  23. package/dist/src/cli/index.js.map +1 -1
  24. package/dist/src/core/config/config-manager.d.ts +95 -0
  25. package/dist/src/core/config/config-manager.d.ts.map +1 -0
  26. package/dist/src/core/config/config-manager.js +359 -0
  27. package/dist/src/core/config/config-manager.js.map +1 -0
  28. package/dist/src/core/config/types.d.ts +72 -0
  29. package/dist/src/core/config/types.d.ts.map +1 -0
  30. package/dist/src/core/config/types.js +127 -0
  31. package/dist/src/core/config/types.js.map +1 -0
  32. package/dist/src/core/context/compaction-handler.d.ts +119 -0
  33. package/dist/src/core/context/compaction-handler.d.ts.map +1 -0
  34. package/dist/src/core/context/compaction-handler.js +306 -0
  35. package/dist/src/core/context/compaction-handler.js.map +1 -0
  36. package/dist/src/core/context/model-aware-compaction.d.ts +101 -0
  37. package/dist/src/core/context/model-aware-compaction.d.ts.map +1 -0
  38. package/dist/src/core/context/model-aware-compaction.js +616 -0
  39. package/dist/src/core/context/model-aware-compaction.js.map +1 -0
  40. package/dist/src/core/query/query-parser.d.ts +104 -0
  41. package/dist/src/core/query/query-parser.d.ts.map +1 -0
  42. package/dist/src/core/query/query-parser.js +347 -0
  43. package/dist/src/core/query/query-parser.js.map +1 -0
  44. package/dist/src/core/retrieval/index.d.ts +8 -0
  45. package/dist/src/core/retrieval/index.d.ts.map +1 -0
  46. package/dist/src/core/retrieval/index.js +8 -0
  47. package/dist/src/core/retrieval/index.js.map +1 -0
  48. package/dist/src/core/retrieval/llm-context-retrieval.d.ts +71 -0
  49. package/dist/src/core/retrieval/llm-context-retrieval.d.ts.map +1 -0
  50. package/dist/src/core/retrieval/llm-context-retrieval.js +545 -0
  51. package/dist/src/core/retrieval/llm-context-retrieval.js.map +1 -0
  52. package/dist/src/core/retrieval/summary-generator.d.ts +63 -0
  53. package/dist/src/core/retrieval/summary-generator.d.ts.map +1 -0
  54. package/dist/src/core/retrieval/summary-generator.js +622 -0
  55. package/dist/src/core/retrieval/summary-generator.js.map +1 -0
  56. package/dist/src/core/retrieval/types.d.ts +257 -0
  57. package/dist/src/core/retrieval/types.d.ts.map +1 -0
  58. package/dist/src/core/retrieval/types.js +18 -0
  59. package/dist/src/core/retrieval/types.js.map +1 -0
  60. package/dist/src/core/trace/trace-detector.d.ts +108 -0
  61. package/dist/src/core/trace/trace-detector.d.ts.map +1 -0
  62. package/dist/src/core/trace/trace-detector.demo.d.ts +5 -0
  63. package/dist/src/core/trace/trace-detector.demo.d.ts.map +1 -0
  64. package/dist/src/core/trace/trace-detector.demo.js +145 -0
  65. package/dist/src/core/trace/trace-detector.demo.js.map +1 -0
  66. package/dist/src/core/trace/trace-detector.js +425 -0
  67. package/dist/src/core/trace/trace-detector.js.map +1 -0
  68. package/dist/src/core/trace/trace-store.d.ts +60 -0
  69. package/dist/src/core/trace/trace-store.d.ts.map +1 -0
  70. package/dist/src/core/trace/trace-store.js +323 -0
  71. package/dist/src/core/trace/trace-store.js.map +1 -0
  72. package/dist/src/core/trace/types.d.ts +81 -0
  73. package/dist/src/core/trace/types.d.ts.map +1 -0
  74. package/dist/src/core/trace/types.js +70 -0
  75. package/dist/src/core/trace/types.js.map +1 -0
  76. package/dist/src/integrations/linear/sync-manager.d.ts +76 -0
  77. package/dist/src/integrations/linear/sync-manager.d.ts.map +1 -0
  78. package/dist/src/integrations/linear/sync-manager.js +223 -0
  79. package/dist/src/integrations/linear/sync-manager.js.map +1 -0
  80. package/dist/src/integrations/mcp/server.d.ts +8 -0
  81. package/dist/src/integrations/mcp/server.d.ts.map +1 -1
  82. package/dist/src/integrations/mcp/server.js +368 -16
  83. package/dist/src/integrations/mcp/server.js.map +1 -1
  84. package/dist/src/integrations/mcp/trace-test.d.ts +5 -0
  85. package/dist/src/integrations/mcp/trace-test.d.ts.map +1 -0
  86. package/dist/src/integrations/mcp/trace-test.js +54 -0
  87. package/dist/src/integrations/mcp/trace-test.js.map +1 -0
  88. package/dist/src/services/config-service.d.ts +1 -1
  89. package/dist/src/services/config-service.d.ts.map +1 -1
  90. package/dist/src/services/config-service.js.map +1 -1
  91. package/dist/src/types/task.d.ts +11 -1
  92. package/dist/src/types/task.d.ts.map +1 -1
  93. package/dist/src/utils/logger.d.ts +4 -4
  94. package/dist/src/utils/logger.d.ts.map +1 -1
  95. package/dist/src/utils/logger.js.map +1 -1
  96. package/package.json +9 -8
  97. package/dist/attention-scoring/src/attention-tracker.d.ts +0 -79
  98. package/dist/attention-scoring/src/attention-tracker.d.ts.map +0 -1
  99. package/dist/attention-scoring/src/attention-tracker.js +0 -488
  100. package/dist/attention-scoring/src/attention-tracker.js.map +0 -1
  101. package/dist/attention-scoring/src/mcp-integration.d.ts +0 -56
  102. package/dist/attention-scoring/src/mcp-integration.d.ts.map +0 -1
  103. package/dist/attention-scoring/src/mcp-integration.js +0 -369
  104. package/dist/attention-scoring/src/mcp-integration.js.map +0 -1
  105. package/dist/index.js +0 -382
  106. package/dist/p2p-sync/src/p2p-sync.d.ts +0 -81
  107. package/dist/p2p-sync/src/p2p-sync.d.ts.map +0 -1
  108. package/dist/p2p-sync/src/p2p-sync.js +0 -457
  109. package/dist/p2p-sync/src/p2p-sync.js.map +0 -1
  110. package/dist/p2p-sync/src/team-context-sync.d.ts +0 -99
  111. package/dist/p2p-sync/src/team-context-sync.d.ts.map +0 -1
  112. package/dist/p2p-sync/src/team-context-sync.js +0 -491
  113. package/dist/p2p-sync/src/team-context-sync.js.map +0 -1
  114. package/dist/scripts/merge-linear-duplicates.d.ts +0 -7
  115. package/dist/scripts/merge-linear-duplicates.d.ts.map +0 -1
  116. package/dist/scripts/merge-linear-duplicates.js +0 -126
  117. package/dist/scripts/merge-linear-duplicates.js.map +0 -1
  118. package/dist/src/analytics/api/analytics-api.d.ts +0 -24
  119. package/dist/src/analytics/api/analytics-api.d.ts.map +0 -1
  120. package/dist/src/analytics/api/analytics-api.js +0 -279
  121. package/dist/src/analytics/api/analytics-api.js.map +0 -1
  122. package/dist/src/analytics/core/analytics-service.d.ts +0 -23
  123. package/dist/src/analytics/core/analytics-service.d.ts.map +0 -1
  124. package/dist/src/analytics/core/analytics-service.js +0 -160
  125. package/dist/src/analytics/core/analytics-service.js.map +0 -1
  126. package/dist/src/analytics/index.d.ts +0 -12
  127. package/dist/src/analytics/index.d.ts.map +0 -1
  128. package/dist/src/analytics/index.js +0 -11
  129. package/dist/src/analytics/index.js.map +0 -1
  130. package/dist/src/analytics/queries/metrics-queries.d.ts +0 -11
  131. package/dist/src/analytics/queries/metrics-queries.d.ts.map +0 -1
  132. package/dist/src/analytics/queries/metrics-queries.js +0 -179
  133. package/dist/src/analytics/queries/metrics-queries.js.map +0 -1
  134. package/dist/src/analytics/types/metrics.d.ts +0 -60
  135. package/dist/src/analytics/types/metrics.d.ts.map +0 -1
  136. package/dist/src/analytics/types/metrics.js +0 -2
  137. package/dist/src/analytics/types/metrics.js.map +0 -1
  138. package/dist/src/beads/beads-task-store.d.ts +0 -117
  139. package/dist/src/beads/beads-task-store.d.ts.map +0 -1
  140. package/dist/src/beads/beads-task-store.js +0 -318
  141. package/dist/src/beads/beads-task-store.js.map +0 -1
  142. package/dist/src/beads/task-aware-context.d.ts +0 -103
  143. package/dist/src/beads/task-aware-context.d.ts.map +0 -1
  144. package/dist/src/beads/task-aware-context.js +0 -395
  145. package/dist/src/beads/task-aware-context.js.map +0 -1
  146. package/dist/src/beads-task-store.d.ts +0 -117
  147. package/dist/src/beads-task-store.d.ts.map +0 -1
  148. package/dist/src/beads-task-store.js +0 -318
  149. package/dist/src/beads-task-store.js.map +0 -1
  150. package/dist/src/cli/__tests__/index.test.d.ts +0 -5
  151. package/dist/src/cli/__tests__/index.test.d.ts.map +0 -1
  152. package/dist/src/cli/__tests__/index.test.js +0 -726
  153. package/dist/src/cli/__tests__/index.test.js.map +0 -1
  154. package/dist/src/cli/analytics-viewer.d.ts +0 -3
  155. package/dist/src/cli/analytics-viewer.d.ts.map +0 -1
  156. package/dist/src/cli/analytics-viewer.js +0 -89
  157. package/dist/src/cli/analytics-viewer.js.map +0 -1
  158. package/dist/src/cli/cli.d.ts +0 -7
  159. package/dist/src/cli/cli.d.ts.map +0 -1
  160. package/dist/src/cli/cli.js +0 -704
  161. package/dist/src/cli/cli.js.map +0 -1
  162. package/dist/src/cli/project-commands.d.ts +0 -8
  163. package/dist/src/cli/project-commands.d.ts.map +0 -1
  164. package/dist/src/cli/project-commands.js +0 -212
  165. package/dist/src/cli/project-commands.js.map +0 -1
  166. package/dist/src/cli.d.ts +0 -7
  167. package/dist/src/cli.d.ts.map +0 -1
  168. package/dist/src/cli.js +0 -73
  169. package/dist/src/cli.js.map +0 -1
  170. package/dist/src/core/context/__tests__/frame-manager.test.d.ts +0 -5
  171. package/dist/src/core/context/__tests__/frame-manager.test.d.ts.map +0 -1
  172. package/dist/src/core/context/__tests__/frame-manager.test.js +0 -892
  173. package/dist/src/core/context/__tests__/frame-manager.test.js.map +0 -1
  174. package/dist/src/core/error-handler.d.ts +0 -46
  175. package/dist/src/core/error-handler.d.ts.map +0 -1
  176. package/dist/src/core/error-handler.js +0 -212
  177. package/dist/src/core/error-handler.js.map +0 -1
  178. package/dist/src/core/errors/__tests__/error-handling.test.d.ts +0 -5
  179. package/dist/src/core/errors/__tests__/error-handling.test.d.ts.map +0 -1
  180. package/dist/src/core/errors/__tests__/error-handling.test.js +0 -239
  181. package/dist/src/core/errors/__tests__/error-handling.test.js.map +0 -1
  182. package/dist/src/core/frame-manager.d.ts +0 -106
  183. package/dist/src/core/frame-manager.d.ts.map +0 -1
  184. package/dist/src/core/frame-manager.js +0 -387
  185. package/dist/src/core/frame-manager.js.map +0 -1
  186. package/dist/src/core/logger.d.ts +0 -24
  187. package/dist/src/core/logger.d.ts.map +0 -1
  188. package/dist/src/core/logger.js +0 -121
  189. package/dist/src/core/logger.js.map +0 -1
  190. package/dist/src/core/logger.test.d.ts +0 -2
  191. package/dist/src/core/logger.test.d.ts.map +0 -1
  192. package/dist/src/core/logger.test.js +0 -31
  193. package/dist/src/core/logger.test.js.map +0 -1
  194. package/dist/src/core/progress-tracker.d.ts +0 -95
  195. package/dist/src/core/progress-tracker.d.ts.map +0 -1
  196. package/dist/src/core/progress-tracker.js +0 -178
  197. package/dist/src/core/progress-tracker.js.map +0 -1
  198. package/dist/src/core/project-manager.d.ts +0 -130
  199. package/dist/src/core/project-manager.d.ts.map +0 -1
  200. package/dist/src/core/project-manager.js +0 -582
  201. package/dist/src/core/project-manager.js.map +0 -1
  202. package/dist/src/core/update-checker.d.ts +0 -38
  203. package/dist/src/core/update-checker.d.ts.map +0 -1
  204. package/dist/src/core/update-checker.js +0 -156
  205. package/dist/src/core/update-checker.js.map +0 -1
  206. package/dist/src/error-handler.d.ts +0 -42
  207. package/dist/src/error-handler.d.ts.map +0 -1
  208. package/dist/src/error-handler.js +0 -155
  209. package/dist/src/error-handler.js.map +0 -1
  210. package/dist/src/features/tasks/__tests__/pebbles-task-store.test.d.ts +0 -5
  211. package/dist/src/features/tasks/__tests__/pebbles-task-store.test.d.ts.map +0 -1
  212. package/dist/src/features/tasks/__tests__/pebbles-task-store.test.js +0 -712
  213. package/dist/src/features/tasks/__tests__/pebbles-task-store.test.js.map +0 -1
  214. package/dist/src/frame-manager.d.ts +0 -106
  215. package/dist/src/frame-manager.d.ts.map +0 -1
  216. package/dist/src/frame-manager.js +0 -361
  217. package/dist/src/frame-manager.js.map +0 -1
  218. package/dist/src/integrations/browser-mcp.d.ts +0 -94
  219. package/dist/src/integrations/browser-mcp.d.ts.map +0 -1
  220. package/dist/src/integrations/browser-mcp.js +0 -431
  221. package/dist/src/integrations/browser-mcp.js.map +0 -1
  222. package/dist/src/integrations/linear/__tests__/auth.test.d.ts +0 -5
  223. package/dist/src/integrations/linear/__tests__/auth.test.d.ts.map +0 -1
  224. package/dist/src/integrations/linear/__tests__/auth.test.js +0 -517
  225. package/dist/src/integrations/linear/__tests__/auth.test.js.map +0 -1
  226. package/dist/src/integrations/linear/__tests__/sync-service.test.d.ts +0 -5
  227. package/dist/src/integrations/linear/__tests__/sync-service.test.d.ts.map +0 -1
  228. package/dist/src/integrations/linear/__tests__/sync-service.test.js +0 -700
  229. package/dist/src/integrations/linear/__tests__/sync-service.test.js.map +0 -1
  230. package/dist/src/integrations/linear-auth.d.ts +0 -99
  231. package/dist/src/integrations/linear-auth.d.ts.map +0 -1
  232. package/dist/src/integrations/linear-auth.js +0 -319
  233. package/dist/src/integrations/linear-auth.js.map +0 -1
  234. package/dist/src/integrations/linear-auto-sync.d.ts +0 -77
  235. package/dist/src/integrations/linear-auto-sync.d.ts.map +0 -1
  236. package/dist/src/integrations/linear-auto-sync.js +0 -268
  237. package/dist/src/integrations/linear-auto-sync.js.map +0 -1
  238. package/dist/src/integrations/linear-client.d.ts +0 -86
  239. package/dist/src/integrations/linear-client.d.ts.map +0 -1
  240. package/dist/src/integrations/linear-client.js +0 -277
  241. package/dist/src/integrations/linear-client.js.map +0 -1
  242. package/dist/src/integrations/linear-config.d.ts +0 -51
  243. package/dist/src/integrations/linear-config.d.ts.map +0 -1
  244. package/dist/src/integrations/linear-config.js +0 -103
  245. package/dist/src/integrations/linear-config.js.map +0 -1
  246. package/dist/src/integrations/linear-sync.d.ts +0 -97
  247. package/dist/src/integrations/linear-sync.d.ts.map +0 -1
  248. package/dist/src/integrations/linear-sync.js +0 -391
  249. package/dist/src/integrations/linear-sync.js.map +0 -1
  250. package/dist/src/integrations/mcp/__tests__/server.test.d.ts +0 -5
  251. package/dist/src/integrations/mcp/__tests__/server.test.d.ts.map +0 -1
  252. package/dist/src/integrations/mcp/__tests__/server.test.js +0 -790
  253. package/dist/src/integrations/mcp/__tests__/server.test.js.map +0 -1
  254. package/dist/src/logger.d.ts +0 -24
  255. package/dist/src/logger.d.ts.map +0 -1
  256. package/dist/src/logger.js +0 -120
  257. package/dist/src/logger.js.map +0 -1
  258. package/dist/src/mcp/mcp-server.d.ts +0 -40
  259. package/dist/src/mcp/mcp-server.d.ts.map +0 -1
  260. package/dist/src/mcp/mcp-server.js +0 -828
  261. package/dist/src/mcp/mcp-server.js.map +0 -1
  262. package/dist/src/mcp-server.d.ts +0 -32
  263. package/dist/src/mcp-server.d.ts.map +0 -1
  264. package/dist/src/mcp-server.js +0 -441
  265. package/dist/src/mcp-server.js.map +0 -1
  266. package/dist/src/pebbles/pebbles-task-store.d.ts +0 -117
  267. package/dist/src/pebbles/pebbles-task-store.d.ts.map +0 -1
  268. package/dist/src/pebbles/pebbles-task-store.js +0 -335
  269. package/dist/src/pebbles/pebbles-task-store.js.map +0 -1
  270. package/dist/src/pebbles/task-aware-context.d.ts +0 -103
  271. package/dist/src/pebbles/task-aware-context.d.ts.map +0 -1
  272. package/dist/src/pebbles/task-aware-context.js +0 -412
  273. package/dist/src/pebbles/task-aware-context.js.map +0 -1
  274. package/dist/src/railway/index.d.ts +0 -7
  275. package/dist/src/railway/index.d.ts.map +0 -1
  276. package/dist/src/railway/index.js +0 -401
  277. package/dist/src/railway/index.js.map +0 -1
  278. package/dist/src/runway/auth/auth-middleware.d.ts +0 -66
  279. package/dist/src/runway/auth/auth-middleware.d.ts.map +0 -1
  280. package/dist/src/runway/auth/auth-middleware.js +0 -337
  281. package/dist/src/runway/auth/auth-middleware.js.map +0 -1
  282. package/dist/src/runway/server/runway-mcp-server.d.ts +0 -46
  283. package/dist/src/runway/server/runway-mcp-server.d.ts.map +0 -1
  284. package/dist/src/runway/server/runway-mcp-server.js +0 -601
  285. package/dist/src/runway/server/runway-mcp-server.js.map +0 -1
  286. package/dist/src/runway.bak/auth/auth-middleware.d.ts +0 -66
  287. package/dist/src/runway.bak/auth/auth-middleware.d.ts.map +0 -1
  288. package/dist/src/runway.bak/auth/auth-middleware.js +0 -337
  289. package/dist/src/runway.bak/auth/auth-middleware.js.map +0 -1
  290. package/dist/src/runway.bak/server/runway-mcp-server.d.ts +0 -46
  291. package/dist/src/runway.bak/server/runway-mcp-server.d.ts.map +0 -1
  292. package/dist/src/runway.bak/server/runway-mcp-server.js +0 -601
  293. package/dist/src/runway.bak/server/runway-mcp-server.js.map +0 -1
  294. package/dist/src/task-aware-context.d.ts +0 -103
  295. package/dist/src/task-aware-context.d.ts.map +0 -1
  296. package/dist/src/task-aware-context.js +0 -395
  297. package/dist/src/task-aware-context.js.map +0 -1
@@ -1,369 +0,0 @@
1
- /**
2
- * MCP Integration with Attention-Based Importance Scoring
3
- *
4
- * Automatically tracks what context Claude actually uses
5
- * and learns importance over time
6
- */
7
- import { Server } from '@modelcontextprotocol/sdk/server/index.js';
8
- import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
9
- import { z } from 'zod';
10
- import AttentionTracker from './attention-tracker';
11
- import { TeamContextManager } from '../../p2p-sync/src/team-context-sync';
12
- // ============================================
13
- // Smart MCP Server with Attention Tracking
14
- // ============================================
15
- export class SmartStackMemoryMCP {
16
- server;
17
- attentionTracker;
18
- teamContext;
19
- activeProvisions = new Map();
20
- constructor(config) {
21
- // Initialize attention tracking
22
- this.attentionTracker = new AttentionTracker(`.stackmemory/${config.projectId}/attention.db`);
23
- // Initialize team context
24
- this.teamContext = new TeamContextManager({
25
- projectId: config.projectId,
26
- teamId: config.teamId,
27
- userId: config.userId
28
- });
29
- // Setup MCP server
30
- this.server = new Server({
31
- name: 'stackmemory-smart',
32
- version: '2.0.0'
33
- }, {
34
- capabilities: {
35
- tools: {},
36
- resources: {}
37
- }
38
- });
39
- this.setupHandlers();
40
- this.setupLearningLoop();
41
- }
42
- // ============================================
43
- // MCP Request Handlers
44
- // ============================================
45
- setupHandlers() {
46
- // Main context retrieval with attention tracking
47
- this.server.setRequestHandler(z.object({
48
- method: z.literal('tools/call'),
49
- params: z.object({
50
- name: z.string(),
51
- arguments: z.record(z.unknown())
52
- })
53
- }), async (request) => {
54
- if (request.params.name === 'get_context') {
55
- return this.getSmartContext(request.params.arguments);
56
- }
57
- // Other tool handlers...
58
- return { content: [] };
59
- });
60
- // Feedback handler for reinforcement learning
61
- this.server.setRequestHandler(z.object({
62
- method: z.literal('feedback'),
63
- params: z.object({
64
- responseId: z.string(),
65
- helpful: z.boolean()
66
- })
67
- }), async (request) => {
68
- const { responseId, helpful } = request.params;
69
- await this.attentionTracker.reinforcementUpdate({
70
- responseId,
71
- helpful
72
- });
73
- return { success: true };
74
- });
75
- }
76
- // ============================================
77
- // Smart Context Assembly
78
- // ============================================
79
- async getSmartContext(params) {
80
- const { query, tokenBudget = 8000 } = params;
81
- // Start tracking this provision
82
- const provision = this.attentionTracker.startProvision(query);
83
- // Get base context from team system
84
- const baseContext = await this.teamContext.getContextBundle(query, tokenBudget);
85
- // Enhance with learned importance scores
86
- const enhancedContext = await this.enhanceWithAttention(baseContext, provision);
87
- // Track the provision and get response
88
- const trackedResponse = await provision.execute(async (contexts) => {
89
- // Format for Claude
90
- return this.formatForClaude(enhancedContext);
91
- });
92
- // Store provision ID for later feedback
93
- this.activeProvisions.set(query, trackedResponse.responseId);
94
- return {
95
- content: [{
96
- type: 'text',
97
- text: trackedResponse.response
98
- }],
99
- metadata: {
100
- responseId: trackedResponse.responseId,
101
- contextsUsed: trackedResponse.contextsUsed,
102
- latency: trackedResponse.latency
103
- }
104
- };
105
- }
106
- // ============================================
107
- // Attention-Based Enhancement
108
- // ============================================
109
- async enhanceWithAttention(baseContext, provision) {
110
- const enhanced = {
111
- items: [],
112
- totalTokens: 0,
113
- metadata: {
114
- enhanced: true,
115
- timestamp: Date.now()
116
- }
117
- };
118
- // Process shared context with importance scores
119
- for (const ctx of baseContext.shared) {
120
- const importance = this.attentionTracker.getImportanceScore(ctx.id || this.hashContext(ctx));
121
- const item = {
122
- id: ctx.id || this.hashContext(ctx),
123
- type: 'shared',
124
- content: ctx.content,
125
- tokenCount: this.estimateTokens(ctx.content),
126
- importance: importance
127
- };
128
- // Add to provision tracking
129
- provision.add(item);
130
- // Only include if importance above threshold
131
- if (importance > 0.3) {
132
- enhanced.items.push({
133
- ...ctx,
134
- importance,
135
- influenceHistory: await this.getInfluenceHistory(item.id)
136
- });
137
- enhanced.totalTokens += item.tokenCount;
138
- }
139
- }
140
- // Get recommended additional context based on patterns
141
- const recommendations = this.attentionTracker.getRecommendedContext(provision.query, enhanced.items.map(i => i.id));
142
- // Add recommended contexts if budget allows
143
- for (const recId of recommendations) {
144
- const recContext = await this.loadContext(recId);
145
- if (recContext && enhanced.totalTokens + recContext.tokenCount < 6000) {
146
- provision.add(recContext);
147
- enhanced.items.push({
148
- ...recContext,
149
- recommended: true,
150
- importance: this.attentionTracker.getImportanceScore(recId)
151
- });
152
- enhanced.totalTokens += recContext.tokenCount;
153
- }
154
- }
155
- // Sort by importance (most important first)
156
- enhanced.items.sort((a, b) => (b.importance || 0) - (a.importance || 0));
157
- return enhanced;
158
- }
159
- // ============================================
160
- // Learning Loop
161
- // ============================================
162
- setupLearningLoop() {
163
- // Periodic analysis of patterns
164
- setInterval(() => {
165
- this.analyzePatterns();
166
- }, 3600000); // Every hour
167
- // Real-time importance updates
168
- this.attentionTracker.on('importance-updated', (event) => {
169
- console.log(`Context ${event.contextId} importance: ${event.importance.toFixed(3)}`);
170
- // Could trigger re-ranking of active context
171
- this.updateActiveContext(event.contextId, event.importance);
172
- });
173
- }
174
- async analyzePatterns() {
175
- // Get top performing context combinations
176
- const rankings = this.attentionTracker.getContextRanking();
177
- console.log('=== Attention Analysis ===');
178
- console.log('Top influential contexts:');
179
- rankings.slice(0, 10).forEach((r, i) => {
180
- console.log(`${i + 1}. ${r.contextId}: ${(r.importance * 100).toFixed(1)}% (used ${r.influenceRate.toFixed(2)} influence rate)`);
181
- });
182
- // Identify underutilized important contexts
183
- const underutilized = rankings.filter(r => r.importance > 0.7 && r.influenceRate < 0.3);
184
- if (underutilized.length > 0) {
185
- console.log('\nUnderutilized important contexts:');
186
- underutilized.forEach(u => {
187
- console.log(`- ${u.contextId}: High importance but low usage`);
188
- });
189
- }
190
- // Generate attention heatmap
191
- const heatmap = this.attentionTracker.getAttentionHeatmap();
192
- this.visualizeHeatmap(heatmap);
193
- }
194
- // ============================================
195
- // Visualization
196
- // ============================================
197
- visualizeHeatmap(heatmap) {
198
- // Create ASCII visualization of attention patterns
199
- console.log('\n=== Attention Heatmap ===');
200
- console.log('Position in context vs Influence:');
201
- const maxInfluence = Math.max(...heatmap.influences);
202
- const scale = 10;
203
- heatmap.positions.forEach((pos, i) => {
204
- const influence = heatmap.influences[i];
205
- const bars = Math.round((influence / maxInfluence) * scale);
206
- const bar = '█'.repeat(bars) + '░'.repeat(scale - bars);
207
- console.log(`Pos ${String(pos).padStart(2)}: ${bar} ${(influence * 100).toFixed(1)}%`);
208
- });
209
- }
210
- // ============================================
211
- // Real-time Context Updates
212
- // ============================================
213
- updateActiveContext(contextId, newImportance) {
214
- // If context importance drops below threshold, remove from active
215
- if (newImportance < 0.2) {
216
- console.log(`Removing low-importance context: ${contextId}`);
217
- // Would trigger context refresh in active sessions
218
- }
219
- // If context importance rises above threshold, promote
220
- if (newImportance > 0.8) {
221
- console.log(`Promoting high-importance context: ${contextId}`);
222
- // Would add to priority context
223
- }
224
- }
225
- // ============================================
226
- // Formatting & Utilities
227
- // ============================================
228
- formatForClaude(context) {
229
- let output = '# Team Context (Attention-Weighted)\n\n';
230
- // Group by type and importance
231
- const grouped = this.groupByType(context.items);
232
- for (const [type, items] of Object.entries(grouped)) {
233
- output += `## ${this.formatType(type)}\n\n`;
234
- items.forEach(item => {
235
- const importanceBar = this.getImportanceBar(item.importance || 0.5);
236
- const flag = item.recommended ? ' [AI-RECOMMENDED]' : '';
237
- output += `${importanceBar} ${item.content}${flag}\n`;
238
- if (item.influenceHistory && item.influenceHistory.length > 0) {
239
- output += ` ↳ Previously influenced: ${item.influenceHistory.join(', ')}\n`;
240
- }
241
- });
242
- output += '\n';
243
- }
244
- // Add metadata
245
- output += `\n---\n`;
246
- output += `Contexts: ${context.items.length} | Tokens: ~${context.totalTokens}\n`;
247
- output += `Enhanced with attention-based importance scoring\n`;
248
- return output;
249
- }
250
- getImportanceBar(importance) {
251
- if (importance >= 0.8)
252
- return '🔴'; // Critical
253
- if (importance >= 0.6)
254
- return '🟠'; // Important
255
- if (importance >= 0.4)
256
- return '🟡'; // Normal
257
- return '⚪'; // Low
258
- }
259
- groupByType(items) {
260
- const grouped = {};
261
- items.forEach(item => {
262
- const type = item.type || 'other';
263
- if (!grouped[type])
264
- grouped[type] = [];
265
- grouped[type].push(item);
266
- });
267
- return grouped;
268
- }
269
- formatType(type) {
270
- const typeMap = {
271
- 'decision': '🎯 Decisions',
272
- 'constraint': '⚠️ Constraints',
273
- 'shared': '👥 Team Context',
274
- 'personal': '📝 Personal Notes',
275
- 'knowledge': '📚 Project Knowledge'
276
- };
277
- return typeMap[type] || type;
278
- }
279
- hashContext(ctx) {
280
- const crypto = require('crypto');
281
- return crypto.createHash('sha256')
282
- .update(JSON.stringify(ctx))
283
- .digest('hex')
284
- .substring(0, 16);
285
- }
286
- estimateTokens(text) {
287
- return Math.ceil(text.length / 4);
288
- }
289
- async getInfluenceHistory(contextId) {
290
- // Get last 3 significant influences
291
- // In production, query from attention_signals table
292
- return [];
293
- }
294
- async loadContext(contextId) {
295
- // Load context from main storage
296
- // This would connect to your team context or local storage
297
- return null;
298
- }
299
- // ============================================
300
- // Startup
301
- // ============================================
302
- async start() {
303
- const transport = new StdioServerTransport();
304
- await this.server.connect(transport);
305
- console.log('Smart StackMemory MCP Server started');
306
- console.log('Attention tracking enabled');
307
- console.log('Learning from usage patterns...');
308
- }
309
- }
310
- // ============================================
311
- // Dashboard for Attention Analytics
312
- // ============================================
313
- export class AttentionDashboard {
314
- tracker;
315
- constructor(tracker) {
316
- this.tracker = tracker;
317
- }
318
- async generateReport() {
319
- const rankings = this.tracker.getContextRanking();
320
- const heatmap = this.tracker.getAttentionHeatmap();
321
- // Calculate statistics
322
- const totalContexts = rankings.length;
323
- const avgImportance = rankings.reduce((sum, r) => sum + r.importance, 0) / totalContexts;
324
- const highInfluence = rankings.filter(r => r.avgInfluence > 0.7).length;
325
- // Identify patterns
326
- const alwaysUseful = rankings.filter(r => r.influenceRate > 0.8);
327
- const neverUseful = rankings.filter(r => r.influenceRate < 0.1 && r.importance < 0.3);
328
- return {
329
- summary: {
330
- totalContexts,
331
- avgImportance,
332
- highInfluenceCount: highInfluence,
333
- lastUpdated: Date.now()
334
- },
335
- topContexts: rankings.slice(0, 20),
336
- alwaysUseful,
337
- neverUseful,
338
- heatmap,
339
- recommendations: this.generateRecommendations(rankings)
340
- };
341
- }
342
- generateRecommendations(rankings) {
343
- const recs = [];
344
- // Find contexts that should be promoted
345
- const undervalued = rankings.filter(r => r.avgInfluence > 0.7 && r.importance < 0.5);
346
- if (undervalued.length > 0) {
347
- recs.push(`Promote ${undervalued.length} undervalued contexts with high influence`);
348
- }
349
- // Find contexts that should be demoted
350
- const overvalued = rankings.filter(r => r.avgInfluence < 0.2 && r.importance > 0.7);
351
- if (overvalued.length > 0) {
352
- recs.push(`Consider demoting ${overvalued.length} contexts with low actual influence`);
353
- }
354
- return recs;
355
- }
356
- }
357
- // ============================================
358
- // CLI Usage
359
- // ============================================
360
- if (require.main === module) {
361
- const config = {
362
- projectId: process.env.PROJECT_ID || 'default',
363
- teamId: process.env.TEAM_ID || 'default',
364
- userId: process.env.USER_ID || 'default'
365
- };
366
- const server = new SmartStackMemoryMCP(config);
367
- server.start().catch(console.error);
368
- }
369
- //# sourceMappingURL=mcp-integration.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-integration.js","sourceRoot":"","sources":["../../../attention-scoring/src/mcp-integration.ts"],"names":[],"mappings":"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"}