@stackmemoryai/stackmemory 0.2.9 → 0.3.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 (575) hide show
  1. package/dist/agents/core/agent-task-manager.js +512 -0
  2. package/dist/agents/core/agent-task-manager.js.map +7 -0
  3. package/dist/agents/verifiers/base-verifier.js +129 -0
  4. package/dist/agents/verifiers/base-verifier.js.map +7 -0
  5. package/dist/agents/verifiers/formatter-verifier.js +126 -0
  6. package/dist/agents/verifiers/formatter-verifier.js.map +7 -0
  7. package/dist/agents/verifiers/llm-judge.js +248 -0
  8. package/dist/agents/verifiers/llm-judge.js.map +7 -0
  9. package/dist/cli/__tests__/index.test.js +290 -0
  10. package/dist/cli/__tests__/index.test.js.map +7 -0
  11. package/dist/cli/auto-detect.js +317 -0
  12. package/dist/cli/auto-detect.js.map +7 -0
  13. package/dist/cli/browser-test.js +29 -0
  14. package/dist/cli/browser-test.js.map +7 -0
  15. package/dist/cli/claude-sm.js +369 -0
  16. package/dist/cli/claude-sm.js.map +7 -0
  17. package/dist/cli/codex-sm.js +283 -0
  18. package/dist/cli/codex-sm.js.map +7 -0
  19. package/dist/cli/commands/agent.js +286 -0
  20. package/dist/cli/commands/agent.js.map +7 -0
  21. package/dist/cli/commands/config.js +199 -0
  22. package/dist/cli/commands/config.js.map +7 -0
  23. package/dist/cli/commands/context.js +327 -0
  24. package/dist/cli/commands/context.js.map +7 -0
  25. package/dist/cli/commands/handoff.js +191 -0
  26. package/dist/cli/commands/handoff.js.map +7 -0
  27. package/dist/cli/commands/linear-test.js +115 -0
  28. package/dist/cli/commands/linear-test.js.map +7 -0
  29. package/dist/cli/commands/linear.js +378 -0
  30. package/dist/cli/commands/linear.js.map +7 -0
  31. package/dist/cli/commands/log.js +165 -0
  32. package/dist/cli/commands/log.js.map +7 -0
  33. package/dist/cli/commands/onboard.js +349 -0
  34. package/dist/cli/commands/onboard.js.map +7 -0
  35. package/dist/cli/commands/projects.js +195 -0
  36. package/dist/cli/commands/projects.js.map +7 -0
  37. package/dist/cli/commands/search.js +152 -0
  38. package/dist/cli/commands/search.js.map +7 -0
  39. package/dist/cli/commands/session.js +179 -0
  40. package/dist/cli/commands/session.js.map +7 -0
  41. package/dist/cli/commands/tasks.js +205 -0
  42. package/dist/cli/commands/tasks.js.map +7 -0
  43. package/dist/cli/commands/webhook.js +131 -0
  44. package/dist/cli/commands/webhook.js.map +7 -0
  45. package/dist/cli/commands/worktree.js +276 -0
  46. package/dist/cli/commands/worktree.js.map +7 -0
  47. package/dist/cli/index.js +953 -0
  48. package/dist/cli/index.js.map +7 -0
  49. package/dist/cli/utils/viewer.js +92 -0
  50. package/dist/cli/utils/viewer.js.map +7 -0
  51. package/dist/core/config/__tests__/config-manager.test.js +248 -0
  52. package/dist/core/config/__tests__/config-manager.test.js.map +7 -0
  53. package/dist/core/config/config-manager.js +368 -0
  54. package/dist/core/config/config-manager.js.map +7 -0
  55. package/dist/core/config/types.js +140 -0
  56. package/dist/core/config/types.js.map +7 -0
  57. package/dist/core/context/__tests__/frame-manager.test.js +879 -0
  58. package/dist/core/context/__tests__/frame-manager.test.js.map +7 -0
  59. package/dist/core/context/auto-context.js +72 -0
  60. package/dist/core/context/auto-context.js.map +7 -0
  61. package/dist/core/context/compaction-handler.js +326 -0
  62. package/dist/core/context/compaction-handler.js.map +7 -0
  63. package/dist/core/context/frame-database.js +376 -0
  64. package/dist/core/context/frame-database.js.map +7 -0
  65. package/dist/core/context/frame-digest.js +239 -0
  66. package/dist/core/context/frame-digest.js.map +7 -0
  67. package/dist/core/context/frame-manager.js +682 -0
  68. package/dist/core/context/frame-manager.js.map +7 -0
  69. package/dist/core/context/frame-stack.js +270 -0
  70. package/dist/core/context/frame-stack.js.map +7 -0
  71. package/dist/core/context/frame-types.js +1 -0
  72. package/dist/core/context/frame-types.js.map +7 -0
  73. package/dist/core/context/index.js +33 -0
  74. package/dist/core/context/index.js.map +7 -0
  75. package/dist/core/context/model-aware-compaction.js +619 -0
  76. package/dist/core/context/model-aware-compaction.js.map +7 -0
  77. package/dist/core/context/refactored-frame-manager.js +393 -0
  78. package/dist/core/context/refactored-frame-manager.js.map +7 -0
  79. package/dist/core/database/batch-operations.js +329 -0
  80. package/dist/core/database/batch-operations.js.map +7 -0
  81. package/dist/core/database/connection-pool.js +224 -0
  82. package/dist/core/database/connection-pool.js.map +7 -0
  83. package/dist/core/database/query-cache.js +284 -0
  84. package/dist/core/database/query-cache.js.map +7 -0
  85. package/dist/core/digest/__tests__/enhanced-hybrid-digest.test.js +379 -0
  86. package/dist/core/digest/__tests__/enhanced-hybrid-digest.test.js.map +7 -0
  87. package/dist/core/digest/__tests__/frame-digest-integration.test.js +230 -0
  88. package/dist/core/digest/__tests__/frame-digest-integration.test.js.map +7 -0
  89. package/dist/core/digest/enhanced-hybrid-digest.js +267 -0
  90. package/dist/core/digest/enhanced-hybrid-digest.js.map +7 -0
  91. package/dist/core/digest/frame-digest-integration.js +172 -0
  92. package/dist/core/digest/frame-digest-integration.js.map +7 -0
  93. package/dist/core/digest/hybrid-digest-generator.js +549 -0
  94. package/dist/core/digest/hybrid-digest-generator.js.map +7 -0
  95. package/dist/core/digest/index.js +5 -0
  96. package/dist/core/digest/index.js.map +7 -0
  97. package/dist/core/digest/types.js +21 -0
  98. package/dist/core/digest/types.js.map +7 -0
  99. package/dist/core/errors/__tests__/error-handling.test.js +270 -0
  100. package/dist/core/errors/__tests__/error-handling.test.js.map +7 -0
  101. package/dist/core/errors/index.js +239 -0
  102. package/dist/core/errors/index.js.map +7 -0
  103. package/dist/core/errors/recovery.js +258 -0
  104. package/dist/core/errors/recovery.js.map +7 -0
  105. package/dist/core/merge/__tests__/conflict-scenarios.test.js +414 -0
  106. package/dist/core/merge/__tests__/conflict-scenarios.test.js.map +7 -0
  107. package/dist/core/merge/conflict-detector.js +424 -0
  108. package/dist/core/merge/conflict-detector.js.map +7 -0
  109. package/dist/core/merge/index.js +5 -0
  110. package/dist/core/merge/index.js.map +7 -0
  111. package/dist/core/merge/resolution-engine.js +565 -0
  112. package/dist/core/merge/resolution-engine.js.map +7 -0
  113. package/dist/core/merge/stack-diff.js +528 -0
  114. package/dist/core/merge/stack-diff.js.map +7 -0
  115. package/dist/core/merge/types.js +1 -0
  116. package/dist/core/merge/types.js.map +7 -0
  117. package/dist/core/monitoring/error-handler.js +278 -0
  118. package/dist/core/monitoring/error-handler.js.map +7 -0
  119. package/dist/core/monitoring/logger.js +115 -0
  120. package/dist/core/monitoring/logger.js.map +7 -0
  121. package/dist/core/monitoring/metrics.js +157 -0
  122. package/dist/core/monitoring/metrics.js.map +7 -0
  123. package/dist/core/monitoring/progress-tracker.js +174 -0
  124. package/dist/core/monitoring/progress-tracker.js.map +7 -0
  125. package/dist/core/performance/context-cache.js +269 -0
  126. package/dist/core/performance/context-cache.js.map +7 -0
  127. package/dist/core/performance/index.js +7 -0
  128. package/dist/core/performance/index.js.map +7 -0
  129. package/dist/core/performance/lazy-context-loader.js +319 -0
  130. package/dist/core/performance/lazy-context-loader.js.map +7 -0
  131. package/dist/core/performance/monitor.js +217 -0
  132. package/dist/core/performance/monitor.js.map +7 -0
  133. package/dist/core/performance/optimized-frame-context.js +326 -0
  134. package/dist/core/performance/optimized-frame-context.js.map +7 -0
  135. package/dist/core/performance/performance-benchmark.js +269 -0
  136. package/dist/core/performance/performance-benchmark.js.map +7 -0
  137. package/dist/core/performance/performance-profiler.js +318 -0
  138. package/dist/core/performance/performance-profiler.js.map +7 -0
  139. package/dist/core/performance/streaming-jsonl-parser.js +187 -0
  140. package/dist/core/performance/streaming-jsonl-parser.js.map +7 -0
  141. package/dist/core/persistence/postgres-adapter.js +345 -0
  142. package/dist/core/persistence/postgres-adapter.js.map +7 -0
  143. package/dist/core/projects/project-manager.js +699 -0
  144. package/dist/core/projects/project-manager.js.map +7 -0
  145. package/dist/core/query/__tests__/query-parser.test.js +301 -0
  146. package/dist/core/query/__tests__/query-parser.test.js.map +7 -0
  147. package/dist/core/query/__tests__/query-templates.test.js +210 -0
  148. package/dist/core/query/__tests__/query-templates.test.js.map +7 -0
  149. package/dist/core/query/query-parser.js +366 -0
  150. package/dist/core/query/query-parser.js.map +7 -0
  151. package/dist/core/query/query-templates.js +317 -0
  152. package/dist/core/query/query-templates.js.map +7 -0
  153. package/dist/core/retrieval/index.js +4 -0
  154. package/dist/core/retrieval/index.js.map +7 -0
  155. package/dist/core/retrieval/llm-context-retrieval.js +577 -0
  156. package/dist/core/retrieval/llm-context-retrieval.js.map +7 -0
  157. package/dist/core/retrieval/summary-generator.js +585 -0
  158. package/dist/core/retrieval/summary-generator.js.map +7 -0
  159. package/dist/core/retrieval/types.js +17 -0
  160. package/dist/core/retrieval/types.js.map +7 -0
  161. package/dist/core/session/index.js +11 -0
  162. package/dist/core/session/index.js.map +7 -0
  163. package/dist/core/session/session-manager.js +297 -0
  164. package/dist/core/session/session-manager.js.map +7 -0
  165. package/dist/core/trace/cli-trace-wrapper.js +110 -0
  166. package/dist/core/trace/cli-trace-wrapper.js.map +7 -0
  167. package/dist/core/trace/db-trace-wrapper.js +215 -0
  168. package/dist/core/trace/db-trace-wrapper.js.map +7 -0
  169. package/dist/core/trace/debug-trace.js +385 -0
  170. package/dist/core/trace/debug-trace.js.map +7 -0
  171. package/dist/core/trace/index.js +158 -0
  172. package/dist/core/trace/index.js.map +7 -0
  173. package/dist/core/trace/linear-api-wrapper.js +169 -0
  174. package/dist/core/trace/linear-api-wrapper.js.map +7 -0
  175. package/dist/core/trace/trace-demo.js +135 -0
  176. package/dist/core/trace/trace-demo.js.map +7 -0
  177. package/dist/core/trace/trace-detector.demo.js +138 -0
  178. package/dist/core/trace/trace-detector.demo.js.map +7 -0
  179. package/dist/core/trace/trace-detector.js +386 -0
  180. package/dist/core/trace/trace-detector.js.map +7 -0
  181. package/dist/core/trace/trace-detector.test.js +401 -0
  182. package/dist/core/trace/trace-detector.test.js.map +7 -0
  183. package/dist/core/trace/trace-store.js +341 -0
  184. package/dist/core/trace/trace-store.js.map +7 -0
  185. package/dist/core/trace/types.js +73 -0
  186. package/dist/core/trace/types.js.map +7 -0
  187. package/dist/core/types.js +1 -0
  188. package/dist/core/types.js.map +7 -0
  189. package/dist/core/utils/update-checker.js +214 -0
  190. package/dist/core/utils/update-checker.js.map +7 -0
  191. package/dist/core/worktree/worktree-manager.js +450 -0
  192. package/dist/core/worktree/worktree-manager.js.map +7 -0
  193. package/dist/features/analytics/api/analytics-api.js +283 -0
  194. package/dist/features/analytics/api/analytics-api.js.map +7 -0
  195. package/dist/features/analytics/core/analytics-service.js +267 -0
  196. package/dist/features/analytics/core/analytics-service.js.map +7 -0
  197. package/dist/features/analytics/index.js +14 -0
  198. package/dist/features/analytics/index.js.map +7 -0
  199. package/dist/features/analytics/queries/metrics-queries.js +273 -0
  200. package/dist/features/analytics/queries/metrics-queries.js.map +7 -0
  201. package/dist/features/analytics/types/metrics.js +1 -0
  202. package/dist/features/analytics/types/metrics.js.map +7 -0
  203. package/dist/features/browser/browser-mcp.js +488 -0
  204. package/dist/features/browser/browser-mcp.js.map +7 -0
  205. package/dist/features/tasks/__tests__/pebbles-task-store.test.js +747 -0
  206. package/dist/features/tasks/__tests__/pebbles-task-store.test.js.map +7 -0
  207. package/dist/features/tasks/pebbles-task-store.js +647 -0
  208. package/dist/features/tasks/pebbles-task-store.js.map +7 -0
  209. package/dist/features/tasks/task-aware-context.js +406 -0
  210. package/dist/features/tasks/task-aware-context.js.map +7 -0
  211. package/dist/index.js +21 -0
  212. package/dist/index.js.map +7 -0
  213. package/dist/integrations/linear/__tests__/auth.test.js +558 -0
  214. package/dist/integrations/linear/__tests__/auth.test.js.map +7 -0
  215. package/dist/integrations/linear/__tests__/sync-service.test.js +760 -0
  216. package/dist/integrations/linear/__tests__/sync-service.test.js.map +7 -0
  217. package/dist/integrations/linear/auth.js +308 -0
  218. package/dist/integrations/linear/auth.js.map +7 -0
  219. package/dist/integrations/linear/auto-sync.js +244 -0
  220. package/dist/integrations/linear/auto-sync.js.map +7 -0
  221. package/dist/integrations/linear/client.js +448 -0
  222. package/dist/integrations/linear/client.js.map +7 -0
  223. package/dist/integrations/linear/config.js +115 -0
  224. package/dist/integrations/linear/config.js.map +7 -0
  225. package/dist/integrations/linear/sync-manager.js +233 -0
  226. package/dist/integrations/linear/sync-manager.js.map +7 -0
  227. package/dist/integrations/linear/sync-service.js +214 -0
  228. package/dist/integrations/linear/sync-service.js.map +7 -0
  229. package/dist/integrations/linear/sync.js +565 -0
  230. package/dist/integrations/linear/sync.js.map +7 -0
  231. package/dist/integrations/linear/types.js +1 -0
  232. package/dist/integrations/linear/types.js.map +7 -0
  233. package/dist/integrations/linear/webhook-server.js +204 -0
  234. package/dist/integrations/linear/webhook-server.js.map +7 -0
  235. package/dist/integrations/linear/webhook.js +269 -0
  236. package/dist/integrations/linear/webhook.js.map +7 -0
  237. package/dist/integrations/mcp/__tests__/server.test.js +798 -0
  238. package/dist/integrations/mcp/__tests__/server.test.js.map +7 -0
  239. package/dist/integrations/mcp/handlers/context-handlers.js +253 -0
  240. package/dist/integrations/mcp/handlers/context-handlers.js.map +7 -0
  241. package/dist/integrations/mcp/handlers/index.js +134 -0
  242. package/dist/integrations/mcp/handlers/index.js.map +7 -0
  243. package/dist/integrations/mcp/handlers/linear-handlers.js +243 -0
  244. package/dist/integrations/mcp/handlers/linear-handlers.js.map +7 -0
  245. package/dist/integrations/mcp/handlers/task-handlers.js +235 -0
  246. package/dist/integrations/mcp/handlers/task-handlers.js.map +7 -0
  247. package/dist/integrations/mcp/handlers/trace-handlers.js +304 -0
  248. package/dist/integrations/mcp/handlers/trace-handlers.js.map +7 -0
  249. package/dist/integrations/mcp/index.js +19 -0
  250. package/dist/integrations/mcp/index.js.map +7 -0
  251. package/dist/integrations/mcp/refactored-server.js +331 -0
  252. package/dist/integrations/mcp/refactored-server.js.map +7 -0
  253. package/dist/integrations/mcp/server.js +1621 -0
  254. package/dist/integrations/mcp/server.js.map +7 -0
  255. package/dist/integrations/mcp/tool-definitions.js +562 -0
  256. package/dist/integrations/mcp/tool-definitions.js.map +7 -0
  257. package/dist/integrations/mcp/trace-test.js +44 -0
  258. package/dist/integrations/mcp/trace-test.js.map +7 -0
  259. package/dist/integrations/pg-aiguide/embedding-provider.js +174 -0
  260. package/dist/integrations/pg-aiguide/embedding-provider.js.map +7 -0
  261. package/dist/integrations/pg-aiguide/semantic-search.js +183 -0
  262. package/dist/integrations/pg-aiguide/semantic-search.js.map +7 -0
  263. package/dist/integrations/pg-aiguide/timescale-analytics.js +220 -0
  264. package/dist/integrations/pg-aiguide/timescale-analytics.js.map +7 -0
  265. package/dist/mcp/stackmemory-mcp-server.js +550 -0
  266. package/dist/mcp/stackmemory-mcp-server.js.map +7 -0
  267. package/dist/middleware/exponential-rate-limiter.js +285 -0
  268. package/dist/middleware/exponential-rate-limiter.js.map +7 -0
  269. package/dist/models/user.model.js +351 -0
  270. package/dist/models/user.model.js.map +7 -0
  271. package/dist/scripts/benchmark-performance.d.ts +7 -0
  272. package/dist/scripts/benchmark-performance.d.ts.map +1 -0
  273. package/dist/scripts/benchmark-performance.js +44 -0
  274. package/dist/scripts/benchmark-performance.js.map +1 -0
  275. package/dist/scripts/cleanup-duplicate-tasks.d.ts +12 -0
  276. package/dist/scripts/cleanup-duplicate-tasks.d.ts.map +1 -0
  277. package/dist/scripts/cleanup-duplicate-tasks.js +215 -0
  278. package/dist/scripts/cleanup-duplicate-tasks.js.map +1 -0
  279. package/dist/servers/production/auth-middleware.js +513 -0
  280. package/dist/servers/production/auth-middleware.js.map +7 -0
  281. package/dist/servers/railway/index.js +390 -0
  282. package/dist/servers/railway/index.js.map +7 -0
  283. package/dist/services/config-service.js +62 -0
  284. package/dist/services/config-service.js.map +7 -0
  285. package/dist/services/context-service.js +191 -0
  286. package/dist/services/context-service.js.map +7 -0
  287. package/dist/src/agents/core/agent-task-manager.d.ts +154 -0
  288. package/dist/src/agents/core/agent-task-manager.d.ts.map +1 -0
  289. package/dist/src/agents/core/agent-task-manager.js +504 -0
  290. package/dist/src/agents/core/agent-task-manager.js.map +1 -0
  291. package/dist/src/agents/verifiers/base-verifier.d.ts +112 -0
  292. package/dist/src/agents/verifiers/base-verifier.d.ts.map +1 -0
  293. package/dist/src/agents/verifiers/base-verifier.js +130 -0
  294. package/dist/src/agents/verifiers/base-verifier.js.map +1 -0
  295. package/dist/src/agents/verifiers/formatter-verifier.d.ts +14 -0
  296. package/dist/src/agents/verifiers/formatter-verifier.d.ts.map +1 -0
  297. package/dist/src/agents/verifiers/formatter-verifier.js +107 -0
  298. package/dist/src/agents/verifiers/formatter-verifier.js.map +1 -0
  299. package/dist/src/agents/verifiers/llm-judge.d.ts +46 -0
  300. package/dist/src/agents/verifiers/llm-judge.d.ts.map +1 -0
  301. package/dist/src/agents/verifiers/llm-judge.js +248 -0
  302. package/dist/src/agents/verifiers/llm-judge.js.map +1 -0
  303. package/dist/src/cli/claude-sm.js +55 -0
  304. package/dist/src/cli/claude-sm.js.map +1 -1
  305. package/dist/src/cli/commands/agent.d.ts +9 -0
  306. package/dist/src/cli/commands/agent.d.ts.map +1 -0
  307. package/dist/src/cli/commands/agent.js +303 -0
  308. package/dist/src/cli/commands/agent.js.map +1 -0
  309. package/dist/src/cli/commands/handoff.d.ts +6 -0
  310. package/dist/src/cli/commands/handoff.d.ts.map +1 -0
  311. package/dist/src/cli/commands/handoff.js +212 -0
  312. package/dist/src/cli/commands/handoff.js.map +1 -0
  313. package/dist/src/cli/index.d.ts.map +1 -1
  314. package/dist/src/cli/index.js +4 -0
  315. package/dist/src/cli/index.js.map +1 -1
  316. package/dist/src/core/context/frame-database.d.ts +59 -0
  317. package/dist/src/core/context/frame-database.d.ts.map +1 -0
  318. package/dist/src/core/context/frame-database.js +333 -0
  319. package/dist/src/core/context/frame-database.js.map +1 -0
  320. package/dist/src/core/context/frame-digest.d.ts +59 -0
  321. package/dist/src/core/context/frame-digest.d.ts.map +1 -0
  322. package/dist/src/core/context/frame-digest.js +264 -0
  323. package/dist/src/core/context/frame-digest.js.map +1 -0
  324. package/dist/src/core/context/frame-manager.d.ts +2 -0
  325. package/dist/src/core/context/frame-manager.d.ts.map +1 -1
  326. package/dist/src/core/context/frame-manager.js +7 -0
  327. package/dist/src/core/context/frame-manager.js.map +1 -1
  328. package/dist/src/core/context/frame-stack.d.ts +85 -0
  329. package/dist/src/core/context/frame-stack.d.ts.map +1 -0
  330. package/dist/src/core/context/frame-stack.js +287 -0
  331. package/dist/src/core/context/frame-stack.js.map +1 -0
  332. package/dist/src/core/context/frame-types.d.ts +67 -0
  333. package/dist/src/core/context/frame-types.d.ts.map +1 -0
  334. package/dist/src/core/context/frame-types.js +6 -0
  335. package/dist/src/core/context/frame-types.js.map +1 -0
  336. package/dist/src/core/context/index.d.ts +11 -0
  337. package/dist/src/core/context/index.d.ts.map +1 -0
  338. package/dist/src/core/context/index.js +14 -0
  339. package/dist/src/core/context/index.js.map +1 -0
  340. package/dist/src/core/context/refactored-frame-manager.d.ts +99 -0
  341. package/dist/src/core/context/refactored-frame-manager.d.ts.map +1 -0
  342. package/dist/src/core/context/refactored-frame-manager.js +340 -0
  343. package/dist/src/core/context/refactored-frame-manager.js.map +1 -0
  344. package/dist/src/core/database/batch-operations.d.ts +118 -0
  345. package/dist/src/core/database/batch-operations.d.ts.map +1 -0
  346. package/dist/src/core/database/batch-operations.js +339 -0
  347. package/dist/src/core/database/batch-operations.js.map +1 -0
  348. package/dist/src/core/database/connection-pool.d.ts +79 -0
  349. package/dist/src/core/database/connection-pool.d.ts.map +1 -0
  350. package/dist/src/core/database/connection-pool.js +236 -0
  351. package/dist/src/core/database/connection-pool.js.map +1 -0
  352. package/dist/src/core/database/query-cache.d.ts +135 -0
  353. package/dist/src/core/database/query-cache.d.ts.map +1 -0
  354. package/dist/src/core/database/query-cache.js +294 -0
  355. package/dist/src/core/database/query-cache.js.map +1 -0
  356. package/dist/src/core/digest/enhanced-hybrid-digest.d.ts +125 -0
  357. package/dist/src/core/digest/enhanced-hybrid-digest.d.ts.map +1 -0
  358. package/dist/src/core/digest/enhanced-hybrid-digest.js +282 -0
  359. package/dist/src/core/digest/enhanced-hybrid-digest.js.map +1 -0
  360. package/dist/src/core/digest/frame-digest-integration.d.ts +67 -0
  361. package/dist/src/core/digest/frame-digest-integration.d.ts.map +1 -0
  362. package/dist/src/core/digest/frame-digest-integration.js +198 -0
  363. package/dist/src/core/digest/frame-digest-integration.js.map +1 -0
  364. package/dist/src/core/digest/hybrid-digest-generator.d.ts +3 -3
  365. package/dist/src/core/digest/hybrid-digest-generator.d.ts.map +1 -1
  366. package/dist/src/core/digest/hybrid-digest-generator.js.map +1 -1
  367. package/dist/src/core/digest/index.d.ts +3 -1
  368. package/dist/src/core/digest/index.d.ts.map +1 -1
  369. package/dist/src/core/digest/index.js +3 -1
  370. package/dist/src/core/digest/index.js.map +1 -1
  371. package/dist/src/core/errors/index.d.ts +13 -5
  372. package/dist/src/core/errors/index.d.ts.map +1 -1
  373. package/dist/src/core/errors/index.js +13 -5
  374. package/dist/src/core/errors/index.js.map +1 -1
  375. package/dist/src/core/merge/conflict-detector.d.ts +122 -0
  376. package/dist/src/core/merge/conflict-detector.d.ts.map +1 -0
  377. package/dist/src/core/merge/conflict-detector.js +468 -0
  378. package/dist/src/core/merge/conflict-detector.js.map +1 -0
  379. package/dist/src/core/merge/index.d.ts +9 -0
  380. package/dist/src/core/merge/index.d.ts.map +1 -0
  381. package/dist/src/core/merge/index.js +9 -0
  382. package/dist/src/core/merge/index.js.map +1 -0
  383. package/dist/src/core/merge/resolution-engine.d.ts +120 -0
  384. package/dist/src/core/merge/resolution-engine.d.ts.map +1 -0
  385. package/dist/src/core/merge/resolution-engine.js +573 -0
  386. package/dist/src/core/merge/resolution-engine.js.map +1 -0
  387. package/dist/src/core/merge/stack-diff.d.ts +97 -0
  388. package/dist/src/core/merge/stack-diff.d.ts.map +1 -0
  389. package/dist/src/core/merge/stack-diff.js +516 -0
  390. package/dist/src/core/merge/stack-diff.js.map +1 -0
  391. package/dist/src/core/merge/types.d.ts +110 -0
  392. package/dist/src/core/merge/types.d.ts.map +1 -0
  393. package/dist/src/core/merge/types.js +6 -0
  394. package/dist/src/core/merge/types.js.map +1 -0
  395. package/dist/src/core/performance/context-cache.d.ts +109 -0
  396. package/dist/src/core/performance/context-cache.d.ts.map +1 -0
  397. package/dist/src/core/performance/context-cache.js +280 -0
  398. package/dist/src/core/performance/context-cache.js.map +1 -0
  399. package/dist/src/core/performance/index.d.ts +3 -0
  400. package/dist/src/core/performance/index.d.ts.map +1 -0
  401. package/dist/src/core/performance/index.js +3 -0
  402. package/dist/src/core/performance/index.js.map +1 -0
  403. package/dist/src/core/performance/lazy-context-loader.d.ts +93 -0
  404. package/dist/src/core/performance/lazy-context-loader.d.ts.map +1 -0
  405. package/dist/src/core/performance/lazy-context-loader.js +332 -0
  406. package/dist/src/core/performance/lazy-context-loader.js.map +1 -0
  407. package/dist/src/core/performance/monitor.d.ts +48 -0
  408. package/dist/src/core/performance/monitor.d.ts.map +1 -0
  409. package/dist/src/core/performance/monitor.js +226 -0
  410. package/dist/src/core/performance/monitor.js.map +1 -0
  411. package/dist/src/core/performance/optimized-frame-context.d.ts +74 -0
  412. package/dist/src/core/performance/optimized-frame-context.d.ts.map +1 -0
  413. package/dist/src/core/performance/optimized-frame-context.js +330 -0
  414. package/dist/src/core/performance/optimized-frame-context.js.map +1 -0
  415. package/dist/src/core/performance/performance-benchmark.d.ts +50 -0
  416. package/dist/src/core/performance/performance-benchmark.d.ts.map +1 -0
  417. package/dist/src/core/performance/performance-benchmark.js +290 -0
  418. package/dist/src/core/performance/performance-benchmark.js.map +1 -0
  419. package/dist/src/core/performance/performance-profiler.d.ts +151 -0
  420. package/dist/src/core/performance/performance-profiler.d.ts.map +1 -0
  421. package/dist/src/core/performance/performance-profiler.js +346 -0
  422. package/dist/src/core/performance/performance-profiler.js.map +1 -0
  423. package/dist/src/core/performance/streaming-jsonl-parser.d.ts +41 -0
  424. package/dist/src/core/performance/streaming-jsonl-parser.d.ts.map +1 -0
  425. package/dist/src/core/performance/streaming-jsonl-parser.js +193 -0
  426. package/dist/src/core/performance/streaming-jsonl-parser.js.map +1 -0
  427. package/dist/src/core/persistence/postgres-adapter.d.ts.map +1 -1
  428. package/dist/src/core/persistence/postgres-adapter.js +18 -4
  429. package/dist/src/core/persistence/postgres-adapter.js.map +1 -1
  430. package/dist/src/core/query/query-parser.d.ts +5 -0
  431. package/dist/src/core/query/query-parser.d.ts.map +1 -1
  432. package/dist/src/core/query/query-parser.js +86 -18
  433. package/dist/src/core/query/query-parser.js.map +1 -1
  434. package/dist/src/core/query/query-templates.d.ts +44 -0
  435. package/dist/src/core/query/query-templates.d.ts.map +1 -0
  436. package/dist/src/core/query/query-templates.js +326 -0
  437. package/dist/src/core/query/query-templates.js.map +1 -0
  438. package/dist/src/core/retrieval/llm-context-retrieval.d.ts +5 -3
  439. package/dist/src/core/retrieval/llm-context-retrieval.d.ts.map +1 -1
  440. package/dist/src/core/retrieval/llm-context-retrieval.js +73 -21
  441. package/dist/src/core/retrieval/llm-context-retrieval.js.map +1 -1
  442. package/dist/src/core/trace/cli-trace-wrapper.d.ts +23 -0
  443. package/dist/src/core/trace/cli-trace-wrapper.d.ts.map +1 -0
  444. package/dist/src/core/trace/cli-trace-wrapper.js +141 -0
  445. package/dist/src/core/trace/cli-trace-wrapper.js.map +1 -0
  446. package/dist/src/core/trace/db-trace-wrapper.d.ts +36 -0
  447. package/dist/src/core/trace/db-trace-wrapper.d.ts.map +1 -0
  448. package/dist/src/core/trace/db-trace-wrapper.js +252 -0
  449. package/dist/src/core/trace/db-trace-wrapper.js.map +1 -0
  450. package/dist/src/core/trace/debug-trace.d.ts +84 -0
  451. package/dist/src/core/trace/debug-trace.d.ts.map +1 -0
  452. package/dist/src/core/trace/debug-trace.js +402 -0
  453. package/dist/src/core/trace/debug-trace.js.map +1 -0
  454. package/dist/src/core/trace/error-test.d.ts +6 -0
  455. package/dist/src/core/trace/error-test.d.ts.map +1 -0
  456. package/dist/src/core/trace/error-test.js +128 -0
  457. package/dist/src/core/trace/error-test.js.map +1 -0
  458. package/dist/src/core/trace/index.d.ts +25 -0
  459. package/dist/src/core/trace/index.d.ts.map +1 -0
  460. package/dist/src/core/trace/index.js +121 -0
  461. package/dist/src/core/trace/index.js.map +1 -0
  462. package/dist/src/core/trace/linear-api-wrapper.d.ts +17 -0
  463. package/dist/src/core/trace/linear-api-wrapper.d.ts.map +1 -0
  464. package/dist/src/core/trace/linear-api-wrapper.js +205 -0
  465. package/dist/src/core/trace/linear-api-wrapper.js.map +1 -0
  466. package/dist/src/core/trace/performance-test.d.ts +6 -0
  467. package/dist/src/core/trace/performance-test.d.ts.map +1 -0
  468. package/dist/src/core/trace/performance-test.js +111 -0
  469. package/dist/src/core/trace/performance-test.js.map +1 -0
  470. package/dist/src/core/trace/trace-demo.d.ts +8 -0
  471. package/dist/src/core/trace/trace-demo.d.ts.map +1 -0
  472. package/dist/src/core/trace/trace-demo.js +154 -0
  473. package/dist/src/core/trace/trace-demo.js.map +1 -0
  474. package/dist/src/core/trace/trace-detector.d.ts +2 -2
  475. package/dist/src/core/trace/trace-detector.d.ts.map +1 -1
  476. package/dist/src/core/trace/trace-detector.demo.js +1 -1
  477. package/dist/src/core/trace/trace-detector.demo.js.map +1 -1
  478. package/dist/src/core/trace/trace-detector.js +3 -3
  479. package/dist/src/core/trace/trace-detector.js.map +1 -1
  480. package/dist/src/features/tasks/pebbles-task-store.d.ts +9 -2
  481. package/dist/src/features/tasks/pebbles-task-store.d.ts.map +1 -1
  482. package/dist/src/features/tasks/pebbles-task-store.js +97 -18
  483. package/dist/src/features/tasks/pebbles-task-store.js.map +1 -1
  484. package/dist/src/integrations/linear/auth.d.ts.map +1 -1
  485. package/dist/src/integrations/linear/auth.js.map +1 -1
  486. package/dist/src/integrations/linear/client.d.ts +15 -1
  487. package/dist/src/integrations/linear/client.d.ts.map +1 -1
  488. package/dist/src/integrations/linear/client.js +85 -3
  489. package/dist/src/integrations/linear/client.js.map +1 -1
  490. package/dist/src/integrations/linear/sync-manager.d.ts +2 -0
  491. package/dist/src/integrations/linear/sync-manager.d.ts.map +1 -1
  492. package/dist/src/integrations/linear/sync-manager.js +16 -4
  493. package/dist/src/integrations/linear/sync-manager.js.map +1 -1
  494. package/dist/src/integrations/linear/sync-service.d.ts +23 -2
  495. package/dist/src/integrations/linear/sync-service.d.ts.map +1 -1
  496. package/dist/src/integrations/linear/sync-service.js +44 -25
  497. package/dist/src/integrations/linear/sync-service.js.map +1 -1
  498. package/dist/src/integrations/linear/sync.d.ts +6 -0
  499. package/dist/src/integrations/linear/sync.d.ts.map +1 -1
  500. package/dist/src/integrations/linear/sync.js +27 -2
  501. package/dist/src/integrations/linear/sync.js.map +1 -1
  502. package/dist/src/integrations/linear/types.d.ts +16 -1
  503. package/dist/src/integrations/linear/types.d.ts.map +1 -1
  504. package/dist/src/integrations/linear/webhook-server.d.ts.map +1 -1
  505. package/dist/src/integrations/linear/webhook-server.js +10 -8
  506. package/dist/src/integrations/linear/webhook-server.js.map +1 -1
  507. package/dist/src/integrations/linear/webhook.d.ts +13 -0
  508. package/dist/src/integrations/linear/webhook.d.ts.map +1 -1
  509. package/dist/src/integrations/linear/webhook.js +101 -14
  510. package/dist/src/integrations/linear/webhook.js.map +1 -1
  511. package/dist/src/integrations/mcp/handlers/context-handlers.d.ts +39 -0
  512. package/dist/src/integrations/mcp/handlers/context-handlers.d.ts.map +1 -0
  513. package/dist/src/integrations/mcp/handlers/context-handlers.js +266 -0
  514. package/dist/src/integrations/mcp/handlers/context-handlers.js.map +1 -0
  515. package/dist/src/integrations/mcp/handlers/index.d.ts +37 -0
  516. package/dist/src/integrations/mcp/handlers/index.d.ts.map +1 -0
  517. package/dist/src/integrations/mcp/handlers/index.js +134 -0
  518. package/dist/src/integrations/mcp/handlers/index.js.map +1 -0
  519. package/dist/src/integrations/mcp/handlers/linear-handlers.d.ts +33 -0
  520. package/dist/src/integrations/mcp/handlers/linear-handlers.d.ts.map +1 -0
  521. package/dist/src/integrations/mcp/handlers/linear-handlers.js +251 -0
  522. package/dist/src/integrations/mcp/handlers/linear-handlers.js.map +1 -0
  523. package/dist/src/integrations/mcp/handlers/task-handlers.d.ts +42 -0
  524. package/dist/src/integrations/mcp/handlers/task-handlers.d.ts.map +1 -0
  525. package/dist/src/integrations/mcp/handlers/task-handlers.js +238 -0
  526. package/dist/src/integrations/mcp/handlers/task-handlers.js.map +1 -0
  527. package/dist/src/integrations/mcp/handlers/trace-handlers.d.ts +41 -0
  528. package/dist/src/integrations/mcp/handlers/trace-handlers.d.ts.map +1 -0
  529. package/dist/src/integrations/mcp/handlers/trace-handlers.js +298 -0
  530. package/dist/src/integrations/mcp/handlers/trace-handlers.js.map +1 -0
  531. package/dist/src/integrations/mcp/index.d.ts +13 -0
  532. package/dist/src/integrations/mcp/index.d.ts.map +1 -0
  533. package/dist/src/integrations/mcp/index.js +17 -0
  534. package/dist/src/integrations/mcp/index.js.map +1 -0
  535. package/dist/src/integrations/mcp/refactored-server.d.ts +76 -0
  536. package/dist/src/integrations/mcp/refactored-server.d.ts.map +1 -0
  537. package/dist/src/integrations/mcp/refactored-server.js +351 -0
  538. package/dist/src/integrations/mcp/refactored-server.js.map +1 -0
  539. package/dist/src/integrations/mcp/tool-definitions.d.ts +44 -0
  540. package/dist/src/integrations/mcp/tool-definitions.d.ts.map +1 -0
  541. package/dist/src/integrations/mcp/tool-definitions.js +563 -0
  542. package/dist/src/integrations/mcp/tool-definitions.js.map +1 -0
  543. package/dist/src/integrations/pg-aiguide/semantic-search.d.ts.map +1 -1
  544. package/dist/src/integrations/pg-aiguide/semantic-search.js +43 -21
  545. package/dist/src/integrations/pg-aiguide/semantic-search.js.map +1 -1
  546. package/dist/src/mcp/stackmemory-mcp-server.d.ts +9 -0
  547. package/dist/src/mcp/stackmemory-mcp-server.d.ts.map +1 -0
  548. package/dist/src/mcp/stackmemory-mcp-server.js +519 -0
  549. package/dist/src/mcp/stackmemory-mcp-server.js.map +1 -0
  550. package/dist/src/middleware/exponential-rate-limiter.d.ts +78 -0
  551. package/dist/src/middleware/exponential-rate-limiter.d.ts.map +1 -0
  552. package/dist/src/middleware/exponential-rate-limiter.js +293 -0
  553. package/dist/src/middleware/exponential-rate-limiter.js.map +1 -0
  554. package/dist/src/models/user.model.d.ts +8 -1
  555. package/dist/src/models/user.model.d.ts.map +1 -1
  556. package/dist/src/models/user.model.js +62 -14
  557. package/dist/src/models/user.model.js.map +1 -1
  558. package/dist/src/servers/production/auth-middleware.d.ts +5 -2
  559. package/dist/src/servers/production/auth-middleware.d.ts.map +1 -1
  560. package/dist/src/servers/production/auth-middleware.js +71 -34
  561. package/dist/src/servers/production/auth-middleware.js.map +1 -1
  562. package/dist/src/services/context-service.d.ts.map +1 -1
  563. package/dist/src/services/context-service.js +86 -1
  564. package/dist/src/services/context-service.js.map +1 -1
  565. package/dist/src/validation/schemas.d.ts +633 -0
  566. package/dist/src/validation/schemas.d.ts.map +1 -0
  567. package/dist/src/validation/schemas.js +347 -0
  568. package/dist/src/validation/schemas.js.map +1 -0
  569. package/dist/types/task.js +1 -0
  570. package/dist/types/task.js.map +7 -0
  571. package/dist/utils/logger.js +52 -0
  572. package/dist/utils/logger.js.map +7 -0
  573. package/dist/validation/schemas.js +218 -0
  574. package/dist/validation/schemas.js.map +7 -0
  575. package/package.json +7 -3
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Context Module Exports
3
+ * Maintains compatibility while providing access to refactored components
4
+ */
5
+ // Export refactored components as primary
6
+ export { RefactoredFrameManager as FrameManager } from './refactored-frame-manager.js';
7
+ // Export focused modules for direct access
8
+ export { FrameDatabase } from './frame-database.js';
9
+ export { FrameStack } from './frame-stack.js';
10
+ export { FrameDigestGenerator } from './frame-digest.js';
11
+ // Re-export from old frame-manager for backwards compatibility
12
+ // This allows existing code to continue working without changes
13
+ export { FrameManager as LegacyFrameManager } from './frame-manager.js';
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/context/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,0CAA0C;AAC1C,OAAO,EAAE,sBAAsB,IAAI,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAevF,2CAA2C;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,+DAA+D;AAC/D,gEAAgE;AAChE,OAAO,EAAE,YAAY,IAAI,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Refactored Frame Manager - Modular Implementation
3
+ * Main orchestrator that uses focused modules for frame management
4
+ */
5
+ import Database from 'better-sqlite3';
6
+ import { Frame, FrameContext, Anchor, Event, FrameType, FrameCreationOptions, FrameManagerConfig, DigestResult } from './frame-types.js';
7
+ export declare class RefactoredFrameManager {
8
+ private frameDb;
9
+ private frameStack;
10
+ private digestGenerator;
11
+ private currentRunId;
12
+ private sessionId;
13
+ private projectId;
14
+ private queryMode;
15
+ private config;
16
+ constructor(db: Database.Database, projectId: string, config?: Partial<FrameManagerConfig>);
17
+ /**
18
+ * Initialize the frame manager
19
+ */
20
+ initialize(): Promise<void>;
21
+ /**
22
+ * Create a new frame
23
+ */
24
+ createFrame(options: FrameCreationOptions): string;
25
+ createFrame(type: FrameType, name: string, inputs?: Record<string, any>, parentFrameId?: string): string;
26
+ private _createFrame;
27
+ /**
28
+ * Close a frame and generate digest
29
+ */
30
+ closeFrame(frameId?: string, outputs?: Record<string, any>): void;
31
+ private _closeFrame;
32
+ /**
33
+ * Add an event to the current frame
34
+ */
35
+ addEvent(eventType: Event['event_type'], payload: Record<string, any>, frameId?: string): string;
36
+ private _addEvent;
37
+ /**
38
+ * Add an anchor (important fact) to current frame
39
+ */
40
+ addAnchor(type: Anchor['type'], text: string, priority?: number, metadata?: Record<string, any>, frameId?: string): string;
41
+ private _addAnchor;
42
+ /**
43
+ * Get hot stack context
44
+ */
45
+ getHotStackContext(maxEvents?: number): FrameContext[];
46
+ /**
47
+ * Get active frame path (root to current)
48
+ */
49
+ getActiveFramePath(): Frame[];
50
+ /**
51
+ * Get current frame ID
52
+ */
53
+ getCurrentFrameId(): string | undefined;
54
+ /**
55
+ * Get stack depth
56
+ */
57
+ getStackDepth(): number;
58
+ /**
59
+ * Get frame by ID
60
+ */
61
+ getFrame(frameId: string): Frame | undefined;
62
+ /**
63
+ * Get frame events
64
+ */
65
+ getFrameEvents(frameId: string, limit?: number): Event[];
66
+ /**
67
+ * Get frame anchors
68
+ */
69
+ getFrameAnchors(frameId: string): Anchor[];
70
+ /**
71
+ * Generate digest for a frame
72
+ */
73
+ generateDigest(frameId: string): DigestResult;
74
+ /**
75
+ * Validate stack consistency
76
+ */
77
+ validateStack(): {
78
+ isValid: boolean;
79
+ errors: string[];
80
+ };
81
+ /**
82
+ * Get database statistics
83
+ */
84
+ getStatistics(): Record<string, number>;
85
+ /**
86
+ * Close all child frames recursively
87
+ */
88
+ private closeChildFrames;
89
+ /**
90
+ * Extract active artifacts from frame events
91
+ */
92
+ getActiveArtifacts(frameId: string): string[];
93
+ /**
94
+ * Extract constraints from frame inputs
95
+ */
96
+ extractConstraints(inputs: Record<string, any>): string[];
97
+ }
98
+ export { Frame, FrameContext, Anchor, Event, FrameType, FrameState, FrameCreationOptions, FrameManagerConfig, DigestResult, } from './frame-types.js';
99
+ //# sourceMappingURL=refactored-frame-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refactored-frame-manager.d.ts","sourceRoot":"","sources":["../../../../src/core/context/refactored-frame-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,340 @@
1
+ /**
2
+ * Refactored Frame Manager - Modular Implementation
3
+ * Main orchestrator that uses focused modules for frame management
4
+ */
5
+ import { v4 as uuidv4 } from 'uuid';
6
+ import { logger } from '../monitoring/logger.js';
7
+ import { trace } from '../trace/index.js';
8
+ import { FrameError, SystemError, ErrorCode, } from '../errors/index.js';
9
+ import { FrameQueryMode } from '../session/index.js';
10
+ import { FrameDatabase } from './frame-database.js';
11
+ import { FrameStack } from './frame-stack.js';
12
+ import { FrameDigestGenerator } from './frame-digest.js';
13
+ export class RefactoredFrameManager {
14
+ frameDb;
15
+ frameStack;
16
+ digestGenerator;
17
+ currentRunId;
18
+ sessionId;
19
+ projectId;
20
+ queryMode = FrameQueryMode.PROJECT_ACTIVE;
21
+ config;
22
+ constructor(db, projectId, config) {
23
+ this.projectId = projectId;
24
+ this.config = {
25
+ projectId,
26
+ runId: config?.runId || uuidv4(),
27
+ sessionId: config?.sessionId || uuidv4(),
28
+ maxStackDepth: config?.maxStackDepth || 50,
29
+ };
30
+ this.currentRunId = this.config.runId;
31
+ this.sessionId = this.config.sessionId;
32
+ // Initialize modules
33
+ this.frameDb = new FrameDatabase(db);
34
+ this.frameStack = new FrameStack(this.frameDb, projectId, this.currentRunId);
35
+ this.digestGenerator = new FrameDigestGenerator(this.frameDb);
36
+ // Initialize database schema
37
+ this.frameDb.initSchema();
38
+ logger.info('RefactoredFrameManager initialized', {
39
+ projectId: this.projectId,
40
+ runId: this.currentRunId,
41
+ sessionId: this.sessionId,
42
+ });
43
+ }
44
+ /**
45
+ * Initialize the frame manager
46
+ */
47
+ async initialize() {
48
+ try {
49
+ await this.frameStack.initialize();
50
+ logger.info('Frame manager initialization completed', {
51
+ stackDepth: this.frameStack.getDepth(),
52
+ });
53
+ }
54
+ catch (error) {
55
+ throw new SystemError('Failed to initialize frame manager', ErrorCode.SYSTEM_INIT_FAILED, { projectId: this.projectId }, error instanceof Error ? error : undefined);
56
+ }
57
+ }
58
+ createFrame(typeOrOptions, name, inputs, parentFrameId) {
59
+ return trace.traceSync('function', 'FrameManager.createFrame', { typeOrOptions, name }, () => this._createFrame(typeOrOptions, name, inputs, parentFrameId));
60
+ }
61
+ _createFrame(typeOrOptions, name, inputs, parentFrameId) {
62
+ let frameOptions;
63
+ // Handle both function signatures
64
+ if (typeof typeOrOptions === 'string') {
65
+ frameOptions = {
66
+ type: typeOrOptions,
67
+ name: name,
68
+ inputs: inputs || {},
69
+ parentFrameId,
70
+ };
71
+ }
72
+ else {
73
+ frameOptions = typeOrOptions;
74
+ }
75
+ // Validate inputs
76
+ if (!frameOptions.name || frameOptions.name.trim().length === 0) {
77
+ throw new FrameError('Frame name is required', ErrorCode.FRAME_INVALID_INPUT, { frameOptions });
78
+ }
79
+ // Check stack depth limit
80
+ if (this.frameStack.getDepth() >= this.config.maxStackDepth) {
81
+ throw new FrameError(`Maximum stack depth reached: ${this.config.maxStackDepth}`, ErrorCode.FRAME_STACK_OVERFLOW, { currentDepth: this.frameStack.getDepth() });
82
+ }
83
+ // Determine parent frame
84
+ const resolvedParentId = frameOptions.parentFrameId || this.frameStack.getCurrentFrameId();
85
+ const depth = resolvedParentId
86
+ ? this.frameStack.getFrameStackDepth(resolvedParentId) + 1
87
+ : 0;
88
+ // Create frame data
89
+ const frameId = uuidv4();
90
+ const frame = {
91
+ frame_id: frameId,
92
+ run_id: this.currentRunId,
93
+ project_id: this.projectId,
94
+ parent_frame_id: resolvedParentId,
95
+ depth,
96
+ type: frameOptions.type,
97
+ name: frameOptions.name,
98
+ state: 'active',
99
+ inputs: frameOptions.inputs || {},
100
+ outputs: {},
101
+ digest_json: {},
102
+ };
103
+ // Insert into database
104
+ const createdFrame = this.frameDb.insertFrame(frame);
105
+ // Add to stack
106
+ this.frameStack.pushFrame(frameId);
107
+ logger.info('Created frame', {
108
+ frameId,
109
+ name: frameOptions.name,
110
+ type: frameOptions.type,
111
+ parentFrameId: resolvedParentId,
112
+ stackDepth: this.frameStack.getDepth(),
113
+ });
114
+ return frameId;
115
+ }
116
+ /**
117
+ * Close a frame and generate digest
118
+ */
119
+ closeFrame(frameId, outputs) {
120
+ trace.traceSync('function', 'FrameManager.closeFrame', { frameId, outputs }, () => this._closeFrame(frameId, outputs));
121
+ }
122
+ _closeFrame(frameId, outputs) {
123
+ const targetFrameId = frameId || this.frameStack.getCurrentFrameId();
124
+ if (!targetFrameId) {
125
+ throw new FrameError('No active frame to close', ErrorCode.FRAME_INVALID_STATE, {
126
+ operation: 'closeFrame',
127
+ stackDepth: this.frameStack.getDepth(),
128
+ });
129
+ }
130
+ // Get frame details
131
+ const frame = this.frameDb.getFrame(targetFrameId);
132
+ if (!frame) {
133
+ throw new FrameError(`Frame not found: ${targetFrameId}`, ErrorCode.FRAME_NOT_FOUND, {
134
+ frameId: targetFrameId,
135
+ operation: 'closeFrame',
136
+ runId: this.currentRunId,
137
+ });
138
+ }
139
+ if (frame.state === 'closed') {
140
+ logger.warn('Attempted to close already closed frame', {
141
+ frameId: targetFrameId,
142
+ });
143
+ return;
144
+ }
145
+ // Generate digest before closing
146
+ const digest = this.digestGenerator.generateDigest(targetFrameId);
147
+ const finalOutputs = { ...outputs, ...digest.structured };
148
+ // Update frame to closed state
149
+ this.frameDb.updateFrame(targetFrameId, {
150
+ state: 'closed',
151
+ outputs: finalOutputs,
152
+ digest_text: digest.text,
153
+ digest_json: digest.structured,
154
+ closed_at: Math.floor(Date.now() / 1000),
155
+ });
156
+ // Remove from stack (this will also remove any child frames)
157
+ this.frameStack.popFrame(targetFrameId);
158
+ // Close all child frames recursively
159
+ this.closeChildFrames(targetFrameId);
160
+ logger.info('Closed frame', {
161
+ frameId: targetFrameId,
162
+ name: frame.name,
163
+ duration: Math.floor(Date.now() / 1000) - frame.created_at,
164
+ digestLength: digest.text.length,
165
+ stackDepth: this.frameStack.getDepth(),
166
+ });
167
+ }
168
+ /**
169
+ * Add an event to the current frame
170
+ */
171
+ addEvent(eventType, payload, frameId) {
172
+ return trace.traceSync('function', 'FrameManager.addEvent', { eventType, frameId }, () => this._addEvent(eventType, payload, frameId));
173
+ }
174
+ _addEvent(eventType, payload, frameId) {
175
+ const targetFrameId = frameId || this.frameStack.getCurrentFrameId();
176
+ if (!targetFrameId) {
177
+ throw new FrameError('No active frame for event', ErrorCode.FRAME_INVALID_STATE, {
178
+ eventType,
179
+ operation: 'addEvent',
180
+ });
181
+ }
182
+ const eventId = uuidv4();
183
+ const sequence = this.frameDb.getNextEventSequence(targetFrameId);
184
+ const event = {
185
+ event_id: eventId,
186
+ frame_id: targetFrameId,
187
+ run_id: this.currentRunId,
188
+ seq: sequence,
189
+ event_type: eventType,
190
+ payload,
191
+ };
192
+ const createdEvent = this.frameDb.insertEvent(event);
193
+ logger.debug('Added event', {
194
+ eventId,
195
+ frameId: targetFrameId,
196
+ eventType,
197
+ sequence,
198
+ });
199
+ return eventId;
200
+ }
201
+ /**
202
+ * Add an anchor (important fact) to current frame
203
+ */
204
+ addAnchor(type, text, priority = 5, metadata = {}, frameId) {
205
+ return trace.traceSync('function', 'FrameManager.addAnchor', { type, frameId }, () => this._addAnchor(type, text, priority, metadata, frameId));
206
+ }
207
+ _addAnchor(type, text, priority, metadata, frameId) {
208
+ const targetFrameId = frameId || this.frameStack.getCurrentFrameId();
209
+ if (!targetFrameId) {
210
+ throw new FrameError('No active frame for anchor', ErrorCode.FRAME_INVALID_STATE, {
211
+ anchorType: type,
212
+ operation: 'addAnchor',
213
+ });
214
+ }
215
+ const anchorId = uuidv4();
216
+ const anchor = {
217
+ anchor_id: anchorId,
218
+ frame_id: targetFrameId,
219
+ type,
220
+ text,
221
+ priority,
222
+ metadata,
223
+ };
224
+ const createdAnchor = this.frameDb.insertAnchor(anchor);
225
+ logger.debug('Added anchor', {
226
+ anchorId,
227
+ frameId: targetFrameId,
228
+ type,
229
+ priority,
230
+ });
231
+ return anchorId;
232
+ }
233
+ /**
234
+ * Get hot stack context
235
+ */
236
+ getHotStackContext(maxEvents = 20) {
237
+ return this.frameStack.getHotStackContext(maxEvents);
238
+ }
239
+ /**
240
+ * Get active frame path (root to current)
241
+ */
242
+ getActiveFramePath() {
243
+ return this.frameStack.getStackFrames();
244
+ }
245
+ /**
246
+ * Get current frame ID
247
+ */
248
+ getCurrentFrameId() {
249
+ return this.frameStack.getCurrentFrameId();
250
+ }
251
+ /**
252
+ * Get stack depth
253
+ */
254
+ getStackDepth() {
255
+ return this.frameStack.getDepth();
256
+ }
257
+ /**
258
+ * Get frame by ID
259
+ */
260
+ getFrame(frameId) {
261
+ return this.frameDb.getFrame(frameId);
262
+ }
263
+ /**
264
+ * Get frame events
265
+ */
266
+ getFrameEvents(frameId, limit) {
267
+ return this.frameDb.getFrameEvents(frameId, limit);
268
+ }
269
+ /**
270
+ * Get frame anchors
271
+ */
272
+ getFrameAnchors(frameId) {
273
+ return this.frameDb.getFrameAnchors(frameId);
274
+ }
275
+ /**
276
+ * Generate digest for a frame
277
+ */
278
+ generateDigest(frameId) {
279
+ return this.digestGenerator.generateDigest(frameId);
280
+ }
281
+ /**
282
+ * Validate stack consistency
283
+ */
284
+ validateStack() {
285
+ return this.frameStack.validateStack();
286
+ }
287
+ /**
288
+ * Get database statistics
289
+ */
290
+ getStatistics() {
291
+ return this.frameDb.getStatistics();
292
+ }
293
+ /**
294
+ * Close all child frames recursively
295
+ */
296
+ closeChildFrames(parentFrameId) {
297
+ try {
298
+ const activeFrames = this.frameDb.getFramesByProject(this.projectId, 'active');
299
+ const childFrames = activeFrames.filter(f => f.parent_frame_id === parentFrameId);
300
+ for (const childFrame of childFrames) {
301
+ if (this.frameStack.isFrameActive(childFrame.frame_id)) {
302
+ this.closeFrame(childFrame.frame_id);
303
+ }
304
+ }
305
+ }
306
+ catch (error) {
307
+ logger.warn('Failed to close child frames', { parentFrameId, error });
308
+ }
309
+ }
310
+ /**
311
+ * Extract active artifacts from frame events
312
+ */
313
+ getActiveArtifacts(frameId) {
314
+ const events = this.frameDb.getFrameEvents(frameId);
315
+ const artifacts = [];
316
+ for (const event of events) {
317
+ if (event.event_type === 'artifact' && event.payload.path) {
318
+ artifacts.push(event.payload.path);
319
+ }
320
+ }
321
+ return [...new Set(artifacts)];
322
+ }
323
+ /**
324
+ * Extract constraints from frame inputs
325
+ */
326
+ extractConstraints(inputs) {
327
+ const constraints = [];
328
+ if (inputs.constraints && Array.isArray(inputs.constraints)) {
329
+ constraints.push(...inputs.constraints);
330
+ }
331
+ if (inputs.requirements && Array.isArray(inputs.requirements)) {
332
+ constraints.push(...inputs.requirements);
333
+ }
334
+ if (inputs.limitations && Array.isArray(inputs.limitations)) {
335
+ constraints.push(...inputs.limitations);
336
+ }
337
+ return constraints;
338
+ }
339
+ }
340
+ //# sourceMappingURL=refactored-frame-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refactored-frame-manager.js","sourceRoot":"","sources":["../../../../src/core/context/refactored-frame-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,118 @@
1
+ /**
2
+ * Batch Database Operations
3
+ * High-performance bulk operations with transaction management
4
+ */
5
+ import Database from 'better-sqlite3';
6
+ export interface BatchOperation {
7
+ table: string;
8
+ operation: 'insert' | 'update' | 'delete';
9
+ data: Record<string, any>[];
10
+ onConflict?: 'ignore' | 'replace' | 'update';
11
+ }
12
+ export interface BulkInsertOptions {
13
+ batchSize?: number;
14
+ onConflict?: 'ignore' | 'replace' | 'update';
15
+ enableTransactions?: boolean;
16
+ parallelTables?: boolean;
17
+ }
18
+ export interface BatchStats {
19
+ totalRecords: number;
20
+ batchesProcessed: number;
21
+ successfulInserts: number;
22
+ failedInserts: number;
23
+ totalTimeMs: number;
24
+ avgBatchTimeMs: number;
25
+ }
26
+ /**
27
+ * High-performance batch operations manager
28
+ */
29
+ export declare class BatchOperationsManager {
30
+ private db;
31
+ private preparedStatements;
32
+ private batchQueue;
33
+ private isProcessing;
34
+ constructor(db?: Database.Database);
35
+ /**
36
+ * Add events in bulk with optimized batching
37
+ */
38
+ bulkInsertEvents(events: Array<{
39
+ frame_id: string;
40
+ run_id: string;
41
+ seq: number;
42
+ event_type: string;
43
+ payload: any;
44
+ ts: number;
45
+ }>, options?: BulkInsertOptions): Promise<BatchStats>;
46
+ /**
47
+ * Add anchors in bulk
48
+ */
49
+ bulkInsertAnchors(anchors: Array<{
50
+ frame_id: string;
51
+ type: string;
52
+ text: string;
53
+ priority: number;
54
+ metadata: any;
55
+ }>, options?: BulkInsertOptions): Promise<BatchStats>;
56
+ /**
57
+ * Bulk update frame digests
58
+ */
59
+ bulkUpdateFrameDigests(updates: Array<{
60
+ frame_id: string;
61
+ digest_text: string;
62
+ digest_json: any;
63
+ closed_at?: number;
64
+ }>, options?: BulkInsertOptions): Promise<BatchStats>;
65
+ /**
66
+ * Generic bulk insert with preprocessing
67
+ */
68
+ private performBulkInsert;
69
+ /**
70
+ * Process records in batches
71
+ */
72
+ private processBatches;
73
+ /**
74
+ * Queue batch operation for later processing
75
+ */
76
+ queueBatchOperation(operation: BatchOperation): void;
77
+ /**
78
+ * Process queued batch operations
79
+ */
80
+ processBatchQueue(): Promise<void>;
81
+ /**
82
+ * Flush any remaining queued operations
83
+ */
84
+ flush(): Promise<void>;
85
+ /**
86
+ * Get SQL conflict clause
87
+ */
88
+ private getConflictClause;
89
+ /**
90
+ * Group operations by table for efficient processing
91
+ */
92
+ private groupOperationsByTable;
93
+ /**
94
+ * Process all operations for a specific table
95
+ */
96
+ private processTableOperations;
97
+ /**
98
+ * Initialize commonly used prepared statements
99
+ */
100
+ private initializePreparedStatements;
101
+ /**
102
+ * Cleanup resources
103
+ */
104
+ cleanup(): void;
105
+ }
106
+ /**
107
+ * Get or create global batch operations manager
108
+ */
109
+ export declare function getBatchManager(db?: Database.Database): BatchOperationsManager;
110
+ /**
111
+ * Convenience function for bulk event insertion
112
+ */
113
+ export declare function bulkInsertEvents(events: any[], options?: BulkInsertOptions): Promise<BatchStats>;
114
+ /**
115
+ * Convenience function for bulk anchor insertion
116
+ */
117
+ export declare function bulkInsertAnchors(anchors: any[], options?: BulkInsertOptions): Promise<BatchStats>;
118
+ //# sourceMappingURL=batch-operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-operations.d.ts","sourceRoot":"","sources":["../../../../src/core/database/batch-operations.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAKtC,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC1C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;CAC9C;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC7C,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,kBAAkB,CAAyC;IACnE,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,YAAY,CAAS;gBAEjB,EAAE,CAAC,EAAE,QAAQ,CAAC,QAAQ;IAUlC;;OAEG;IACG,gBAAgB,CACpB,MAAM,EAAE,KAAK,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,GAAG,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC,EACF,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,UAAU,CAAC;IAmBtB;;OAEG;IACG,iBAAiB,CACrB,OAAO,EAAE,KAAK,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,GAAG,CAAC;KACf,CAAC,EACF,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,UAAU,CAAC;IAYtB;;OAEG;IACG,sBAAsB,CAC1B,OAAO,EAAE,KAAK,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,GAAG,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC,EACF,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,UAAU,CAAC;IAkEtB;;OAEG;YACW,iBAAiB;IA0E/B;;OAEG;YACW,cAAc;IAoC5B;;OAEG;IACH,mBAAmB,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI;IAQpD;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BxC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAazB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAa9B;;OAEG;YACW,sBAAsB;IAepC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAsBpC;;OAEG;IACH,OAAO,IAAI,IAAI;CAIhB;AAKD;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,QAAQ,GAAG,sBAAsB,CAK9E;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,GAAG,EAAE,EACb,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,UAAU,CAAC,CAGrB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,GAAG,EAAE,EACd,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,UAAU,CAAC,CAGrB"}