specmem-hardwicksoftware 3.5.99

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 (1473) hide show
  1. package/CHANGELOG.md +299 -0
  2. package/LICENSE.md +6406 -0
  3. package/README.md +539 -0
  4. package/bin/AegisTheme.cjs +1022 -0
  5. package/bin/AnsiRenderer.cjs +1055 -0
  6. package/bin/BoxRenderer.cjs +605 -0
  7. package/bin/ClaudeLiveScreen.cjs +1299 -0
  8. package/bin/DashboardModules.cjs +733 -0
  9. package/bin/LiveScreenCapture.cjs +1012 -0
  10. package/bin/MemoryBrowserScreen.cjs +1595 -0
  11. package/bin/TabManager.cjs +1414 -0
  12. package/bin/checkAgentStatus-fix.patch +30 -0
  13. package/bin/mcp-socket-client.cjs +462 -0
  14. package/bin/screen-utils.cjs +106 -0
  15. package/bin/specmem-autoclaude.cjs +663 -0
  16. package/bin/specmem-cleanup.cjs +421 -0
  17. package/bin/specmem-cli.cjs +794 -0
  18. package/bin/specmem-console-teamcomms-class.cjs +428 -0
  19. package/bin/specmem-console.cjs +8104 -0
  20. package/bin/specmem-statusbar.cjs +530 -0
  21. package/bootstrap.cjs +5065 -0
  22. package/claude-hooks/agent-chooser-hook.js +179 -0
  23. package/claude-hooks/agent-chooser-inject.js +121 -0
  24. package/claude-hooks/agent-loading-hook.js +990 -0
  25. package/claude-hooks/agent-output-fader.cjs +542 -0
  26. package/claude-hooks/agent-output-interceptor.js +193 -0
  27. package/claude-hooks/agent-type-matcher.js +419 -0
  28. package/claude-hooks/auto-bypass.py +74 -0
  29. package/claude-hooks/background-completion-silencer.js +134 -0
  30. package/claude-hooks/bash-auto-background.js +182 -0
  31. package/claude-hooks/build-cedict-dictionary.mjs +167 -0
  32. package/claude-hooks/bullshit-radar.cjs +323 -0
  33. package/claude-hooks/cedict-codes.json +270 -0
  34. package/claude-hooks/cedict-extracted.json +22632 -0
  35. package/claude-hooks/claude-watchdog.sh +401 -0
  36. package/claude-hooks/context-dedup.cjs +144 -0
  37. package/claude-hooks/context-yeeter.cjs +244 -0
  38. package/claude-hooks/debug-suffix.cjs +15 -0
  39. package/claude-hooks/debug2.cjs +7 -0
  40. package/claude-hooks/drilldown-enforcer.js +242 -0
  41. package/claude-hooks/english-morphology-standalone.cjs +149 -0
  42. package/claude-hooks/english-morphology.cjs +152 -0
  43. package/claude-hooks/extract-translations.mjs +193 -0
  44. package/claude-hooks/file-claim-enforcer.cjs +293 -0
  45. package/claude-hooks/file-claim-enforcer.js +293 -0
  46. package/claude-hooks/find-collisions.cjs +39 -0
  47. package/claude-hooks/fix-abbreviations.cjs +60 -0
  48. package/claude-hooks/fix-collisions.cjs +60 -0
  49. package/claude-hooks/fix-decompressor.cjs +79 -0
  50. package/claude-hooks/fix-suffixes.cjs +66 -0
  51. package/claude-hooks/grammar-engine.cjs +159 -0
  52. package/claude-hooks/input-aware-improver.js +231 -0
  53. package/claude-hooks/is-agent.cjs +64 -0
  54. package/claude-hooks/mega-test.cjs +213 -0
  55. package/claude-hooks/merge-dictionaries.mjs +207 -0
  56. package/claude-hooks/merged-codes.cjs +22675 -0
  57. package/claude-hooks/merged-codes.json +22676 -0
  58. package/claude-hooks/output-cleaner.cjs +388 -0
  59. package/claude-hooks/post-write-memory-hook.cjs +430 -0
  60. package/claude-hooks/quick-test.cjs +24 -0
  61. package/claude-hooks/quick-test2.cjs +24 -0
  62. package/claude-hooks/remove-bad-codes.cjs +23 -0
  63. package/claude-hooks/search-reminder-hook.js +90 -0
  64. package/claude-hooks/semantic-test.cjs +93 -0
  65. package/claude-hooks/settings.json +445 -0
  66. package/claude-hooks/smart-context-hook.cjs +547 -0
  67. package/claude-hooks/smart-context-hook.js +539 -0
  68. package/claude-hooks/smart-search-interceptor.js +364 -0
  69. package/claude-hooks/socket-connect-helper.cjs +235 -0
  70. package/claude-hooks/specmem/sockets/session-start.lock +1 -0
  71. package/claude-hooks/specmem-context-hook.cjs +357 -0
  72. package/claude-hooks/specmem-context-hook.js +357 -0
  73. package/claude-hooks/specmem-drilldown-hook.cjs +480 -0
  74. package/claude-hooks/specmem-drilldown-hook.js +480 -0
  75. package/claude-hooks/specmem-drilldown-setter.js +210 -0
  76. package/claude-hooks/specmem-paths.cjs +213 -0
  77. package/claude-hooks/specmem-precompact.js +183 -0
  78. package/claude-hooks/specmem-session-init.sh +33 -0
  79. package/claude-hooks/specmem-session-start.cjs +498 -0
  80. package/claude-hooks/specmem-stop-hook.cjs +73 -0
  81. package/claude-hooks/specmem-stop-hook.js +5 -0
  82. package/claude-hooks/specmem-team-comms.cjs +434 -0
  83. package/claude-hooks/specmem-team-member-inject.js +271 -0
  84. package/claude-hooks/specmem-unified-hook.py +670 -0
  85. package/claude-hooks/subagent-loading-hook.js +194 -0
  86. package/claude-hooks/sysprompt-squisher.cjs +167 -0
  87. package/claude-hooks/task-progress-hook.js +204 -0
  88. package/claude-hooks/team-comms-enforcer.cjs +585 -0
  89. package/claude-hooks/test-accuracy.cjs +27 -0
  90. package/claude-hooks/test-big.cjs +28 -0
  91. package/claude-hooks/test-inflectors.cjs +39 -0
  92. package/claude-hooks/test-pluralize.cjs +37 -0
  93. package/claude-hooks/test-quick.cjs +8 -0
  94. package/claude-hooks/test-wink.cjs +20 -0
  95. package/claude-hooks/token-compressor.cjs +940 -0
  96. package/claude-hooks/use-code-pointers.cjs +279 -0
  97. package/commands/COMMAND_TOOL_MAP.md +299 -0
  98. package/commands/specmem-agents.md +412 -0
  99. package/commands/specmem-autoclaude.md +295 -0
  100. package/commands/specmem-changes.md +247 -0
  101. package/commands/specmem-code.md +103 -0
  102. package/commands/specmem-configteammembercomms.md +322 -0
  103. package/commands/specmem-drilldown.md +208 -0
  104. package/commands/specmem-find.md +195 -0
  105. package/commands/specmem-getdashboard.md +243 -0
  106. package/commands/specmem-hooks.md +219 -0
  107. package/commands/specmem-pointers.md +149 -0
  108. package/commands/specmem-progress.md +287 -0
  109. package/commands/specmem-remember.md +123 -0
  110. package/commands/specmem-service.md +349 -0
  111. package/commands/specmem-stats.md +189 -0
  112. package/commands/specmem-team-member.md +409 -0
  113. package/commands/specmem-webdev.md +583 -0
  114. package/commands/specmem.md +363 -0
  115. package/dist/autoStart/index.d.ts +214 -0
  116. package/dist/autoStart/index.d.ts.map +1 -0
  117. package/dist/autoStart/index.js +883 -0
  118. package/dist/autoStart/index.js.map +1 -0
  119. package/dist/claude-sessions/contextRestorationParser.d.ts +74 -0
  120. package/dist/claude-sessions/contextRestorationParser.d.ts.map +1 -0
  121. package/dist/claude-sessions/contextRestorationParser.js +570 -0
  122. package/dist/claude-sessions/contextRestorationParser.js.map +1 -0
  123. package/dist/claude-sessions/index.d.ts +13 -0
  124. package/dist/claude-sessions/index.d.ts.map +1 -0
  125. package/dist/claude-sessions/index.js +11 -0
  126. package/dist/claude-sessions/index.js.map +1 -0
  127. package/dist/claude-sessions/sessionIntegration.d.ts +48 -0
  128. package/dist/claude-sessions/sessionIntegration.d.ts.map +1 -0
  129. package/dist/claude-sessions/sessionIntegration.js +146 -0
  130. package/dist/claude-sessions/sessionIntegration.js.map +1 -0
  131. package/dist/claude-sessions/sessionParser.d.ts +293 -0
  132. package/dist/claude-sessions/sessionParser.d.ts.map +1 -0
  133. package/dist/claude-sessions/sessionParser.js +1028 -0
  134. package/dist/claude-sessions/sessionParser.js.map +1 -0
  135. package/dist/claude-sessions/sessionWatcher.d.ts +139 -0
  136. package/dist/claude-sessions/sessionWatcher.d.ts.map +1 -0
  137. package/dist/claude-sessions/sessionWatcher.js +722 -0
  138. package/dist/claude-sessions/sessionWatcher.js.map +1 -0
  139. package/dist/cli/deploy-to-claude.d.ts +56 -0
  140. package/dist/cli/deploy-to-claude.d.ts.map +1 -0
  141. package/dist/cli/deploy-to-claude.js +576 -0
  142. package/dist/cli/deploy-to-claude.js.map +1 -0
  143. package/dist/code-explanations/explainCode.d.ts +86 -0
  144. package/dist/code-explanations/explainCode.d.ts.map +1 -0
  145. package/dist/code-explanations/explainCode.js +286 -0
  146. package/dist/code-explanations/explainCode.js.map +1 -0
  147. package/dist/code-explanations/feedback.d.ts +87 -0
  148. package/dist/code-explanations/feedback.d.ts.map +1 -0
  149. package/dist/code-explanations/feedback.js +212 -0
  150. package/dist/code-explanations/feedback.js.map +1 -0
  151. package/dist/code-explanations/getRelatedCode.d.ts +80 -0
  152. package/dist/code-explanations/getRelatedCode.d.ts.map +1 -0
  153. package/dist/code-explanations/getRelatedCode.js +262 -0
  154. package/dist/code-explanations/getRelatedCode.js.map +1 -0
  155. package/dist/code-explanations/index.d.ts +284 -0
  156. package/dist/code-explanations/index.d.ts.map +1 -0
  157. package/dist/code-explanations/index.js +249 -0
  158. package/dist/code-explanations/index.js.map +1 -0
  159. package/dist/code-explanations/linkCodeToPrompt.d.ts +79 -0
  160. package/dist/code-explanations/linkCodeToPrompt.d.ts.map +1 -0
  161. package/dist/code-explanations/linkCodeToPrompt.js +213 -0
  162. package/dist/code-explanations/linkCodeToPrompt.js.map +1 -0
  163. package/dist/code-explanations/recallExplanation.d.ts +88 -0
  164. package/dist/code-explanations/recallExplanation.d.ts.map +1 -0
  165. package/dist/code-explanations/recallExplanation.js +218 -0
  166. package/dist/code-explanations/recallExplanation.js.map +1 -0
  167. package/dist/code-explanations/schema.d.ts +32 -0
  168. package/dist/code-explanations/schema.d.ts.map +1 -0
  169. package/dist/code-explanations/schema.js +221 -0
  170. package/dist/code-explanations/schema.js.map +1 -0
  171. package/dist/code-explanations/semanticSearch.d.ts +75 -0
  172. package/dist/code-explanations/semanticSearch.d.ts.map +1 -0
  173. package/dist/code-explanations/semanticSearch.js +203 -0
  174. package/dist/code-explanations/semanticSearch.js.map +1 -0
  175. package/dist/code-explanations/types.d.ts +328 -0
  176. package/dist/code-explanations/types.d.ts.map +1 -0
  177. package/dist/code-explanations/types.js +122 -0
  178. package/dist/code-explanations/types.js.map +1 -0
  179. package/dist/codebase/codeAnalyzer.d.ts +272 -0
  180. package/dist/codebase/codeAnalyzer.d.ts.map +1 -0
  181. package/dist/codebase/codeAnalyzer.js +1353 -0
  182. package/dist/codebase/codeAnalyzer.js.map +1 -0
  183. package/dist/codebase/codebaseIndexer.d.ts +360 -0
  184. package/dist/codebase/codebaseIndexer.d.ts.map +1 -0
  185. package/dist/codebase/codebaseIndexer.js +1735 -0
  186. package/dist/codebase/codebaseIndexer.js.map +1 -0
  187. package/dist/codebase/codebaseTools.d.ts +853 -0
  188. package/dist/codebase/codebaseTools.d.ts.map +1 -0
  189. package/dist/codebase/codebaseTools.js +1279 -0
  190. package/dist/codebase/codebaseTools.js.map +1 -0
  191. package/dist/codebase/exclusions.d.ts +111 -0
  192. package/dist/codebase/exclusions.d.ts.map +1 -0
  193. package/dist/codebase/exclusions.js +771 -0
  194. package/dist/codebase/exclusions.js.map +1 -0
  195. package/dist/codebase/fileWatcher.d.ts +135 -0
  196. package/dist/codebase/fileWatcher.d.ts.map +1 -0
  197. package/dist/codebase/fileWatcher.js +309 -0
  198. package/dist/codebase/fileWatcher.js.map +1 -0
  199. package/dist/codebase/index.d.ts +33 -0
  200. package/dist/codebase/index.d.ts.map +1 -0
  201. package/dist/codebase/index.js +77 -0
  202. package/dist/codebase/index.js.map +1 -0
  203. package/dist/codebase/ingestion.d.ts +177 -0
  204. package/dist/codebase/ingestion.d.ts.map +1 -0
  205. package/dist/codebase/ingestion.js +690 -0
  206. package/dist/codebase/ingestion.js.map +1 -0
  207. package/dist/codebase/languageDetection.d.ts +75 -0
  208. package/dist/codebase/languageDetection.d.ts.map +1 -0
  209. package/dist/codebase/languageDetection.js +768 -0
  210. package/dist/codebase/languageDetection.js.map +1 -0
  211. package/dist/commands/codebaseCommands.d.ts +101 -0
  212. package/dist/commands/codebaseCommands.d.ts.map +1 -0
  213. package/dist/commands/codebaseCommands.js +911 -0
  214. package/dist/commands/codebaseCommands.js.map +1 -0
  215. package/dist/commands/commandHandler.d.ts +126 -0
  216. package/dist/commands/commandHandler.d.ts.map +1 -0
  217. package/dist/commands/commandHandler.js +296 -0
  218. package/dist/commands/commandHandler.js.map +1 -0
  219. package/dist/commands/commandLoader.d.ts +103 -0
  220. package/dist/commands/commandLoader.d.ts.map +1 -0
  221. package/dist/commands/commandLoader.js +223 -0
  222. package/dist/commands/commandLoader.js.map +1 -0
  223. package/dist/commands/contextCommands.d.ts +83 -0
  224. package/dist/commands/contextCommands.d.ts.map +1 -0
  225. package/dist/commands/contextCommands.js +512 -0
  226. package/dist/commands/contextCommands.js.map +1 -0
  227. package/dist/commands/index.d.ts +24 -0
  228. package/dist/commands/index.d.ts.map +1 -0
  229. package/dist/commands/index.js +28 -0
  230. package/dist/commands/index.js.map +1 -0
  231. package/dist/commands/mcpResources.d.ts +50 -0
  232. package/dist/commands/mcpResources.d.ts.map +1 -0
  233. package/dist/commands/mcpResources.js +372 -0
  234. package/dist/commands/mcpResources.js.map +1 -0
  235. package/dist/commands/memoryCommands.d.ts +74 -0
  236. package/dist/commands/memoryCommands.d.ts.map +1 -0
  237. package/dist/commands/memoryCommands.js +609 -0
  238. package/dist/commands/memoryCommands.js.map +1 -0
  239. package/dist/commands/promptCommands.d.ts +91 -0
  240. package/dist/commands/promptCommands.d.ts.map +1 -0
  241. package/dist/commands/promptCommands.js +801 -0
  242. package/dist/commands/promptCommands.js.map +1 -0
  243. package/dist/commands/teamMemberCommands.d.ts +21 -0
  244. package/dist/commands/teamMemberCommands.d.ts.map +1 -0
  245. package/dist/commands/teamMemberCommands.js +137 -0
  246. package/dist/commands/teamMemberCommands.js.map +1 -0
  247. package/dist/comms/fileCommsTransport.d.ts +91 -0
  248. package/dist/comms/fileCommsTransport.d.ts.map +1 -0
  249. package/dist/comms/fileCommsTransport.js +244 -0
  250. package/dist/comms/fileCommsTransport.js.map +1 -0
  251. package/dist/comms/index.d.ts +7 -0
  252. package/dist/comms/index.d.ts.map +1 -0
  253. package/dist/comms/index.js +7 -0
  254. package/dist/comms/index.js.map +1 -0
  255. package/dist/config/apiKeyDetection.d.ts +41 -0
  256. package/dist/config/apiKeyDetection.d.ts.map +1 -0
  257. package/dist/config/apiKeyDetection.js +211 -0
  258. package/dist/config/apiKeyDetection.js.map +1 -0
  259. package/dist/config/autoConfig.d.ts +188 -0
  260. package/dist/config/autoConfig.d.ts.map +1 -0
  261. package/dist/config/autoConfig.js +850 -0
  262. package/dist/config/autoConfig.js.map +1 -0
  263. package/dist/config/configSync.d.ts +119 -0
  264. package/dist/config/configSync.d.ts.map +1 -0
  265. package/dist/config/configSync.js +878 -0
  266. package/dist/config/configSync.js.map +1 -0
  267. package/dist/config/embeddingTimeouts.d.ts +145 -0
  268. package/dist/config/embeddingTimeouts.d.ts.map +1 -0
  269. package/dist/config/embeddingTimeouts.js +255 -0
  270. package/dist/config/embeddingTimeouts.js.map +1 -0
  271. package/dist/config/index.d.ts +5 -0
  272. package/dist/config/index.d.ts.map +1 -0
  273. package/dist/config/index.js +7 -0
  274. package/dist/config/index.js.map +1 -0
  275. package/dist/config/languageConfig.d.ts +68 -0
  276. package/dist/config/languageConfig.d.ts.map +1 -0
  277. package/dist/config/languageConfig.js +473 -0
  278. package/dist/config/languageConfig.js.map +1 -0
  279. package/dist/config/password.d.ts +145 -0
  280. package/dist/config/password.d.ts.map +1 -0
  281. package/dist/config/password.js +428 -0
  282. package/dist/config/password.js.map +1 -0
  283. package/dist/config.d.ts +338 -0
  284. package/dist/config.d.ts.map +1 -0
  285. package/dist/config.js +1177 -0
  286. package/dist/config.js.map +1 -0
  287. package/dist/consolidation.d.ts +44 -0
  288. package/dist/consolidation.d.ts.map +1 -0
  289. package/dist/consolidation.js +447 -0
  290. package/dist/consolidation.js.map +1 -0
  291. package/dist/constants.d.ts +371 -0
  292. package/dist/constants.d.ts.map +1 -0
  293. package/dist/constants.js +552 -0
  294. package/dist/constants.js.map +1 -0
  295. package/dist/coordination/TeamMemberRegistry.d.ts +192 -0
  296. package/dist/coordination/TeamMemberRegistry.d.ts.map +1 -0
  297. package/dist/coordination/TeamMemberRegistry.js +415 -0
  298. package/dist/coordination/TeamMemberRegistry.js.map +1 -0
  299. package/dist/coordination/events.d.ts +369 -0
  300. package/dist/coordination/events.d.ts.map +1 -0
  301. package/dist/coordination/events.js +232 -0
  302. package/dist/coordination/events.js.map +1 -0
  303. package/dist/coordination/handlers.d.ts +116 -0
  304. package/dist/coordination/handlers.d.ts.map +1 -0
  305. package/dist/coordination/handlers.js +400 -0
  306. package/dist/coordination/handlers.js.map +1 -0
  307. package/dist/coordination/index.d.ts +14 -0
  308. package/dist/coordination/index.d.ts.map +1 -0
  309. package/dist/coordination/index.js +31 -0
  310. package/dist/coordination/index.js.map +1 -0
  311. package/dist/coordination/integration.d.ts +260 -0
  312. package/dist/coordination/integration.d.ts.map +1 -0
  313. package/dist/coordination/integration.js +472 -0
  314. package/dist/coordination/integration.js.map +1 -0
  315. package/dist/coordination/server.d.ts +266 -0
  316. package/dist/coordination/server.d.ts.map +1 -0
  317. package/dist/coordination/server.js +995 -0
  318. package/dist/coordination/server.js.map +1 -0
  319. package/dist/coordination/serviceProvider.d.ts +70 -0
  320. package/dist/coordination/serviceProvider.d.ts.map +1 -0
  321. package/dist/coordination/serviceProvider.js +273 -0
  322. package/dist/coordination/serviceProvider.js.map +1 -0
  323. package/dist/dashboard/api/claudeControl.d.ts +44 -0
  324. package/dist/dashboard/api/claudeControl.d.ts.map +1 -0
  325. package/dist/dashboard/api/claudeControl.js +650 -0
  326. package/dist/dashboard/api/claudeControl.js.map +1 -0
  327. package/dist/dashboard/api/claudeHistory.d.ts +4 -0
  328. package/dist/dashboard/api/claudeHistory.d.ts.map +1 -0
  329. package/dist/dashboard/api/claudeHistory.js +319 -0
  330. package/dist/dashboard/api/claudeHistory.js.map +1 -0
  331. package/dist/dashboard/api/dataExport.d.ts +23 -0
  332. package/dist/dashboard/api/dataExport.d.ts.map +1 -0
  333. package/dist/dashboard/api/dataExport.js +509 -0
  334. package/dist/dashboard/api/dataExport.js.map +1 -0
  335. package/dist/dashboard/api/fileManager.d.ts +39 -0
  336. package/dist/dashboard/api/fileManager.d.ts.map +1 -0
  337. package/dist/dashboard/api/fileManager.js +814 -0
  338. package/dist/dashboard/api/fileManager.js.map +1 -0
  339. package/dist/dashboard/api/hooks.d.ts +16 -0
  340. package/dist/dashboard/api/hooks.d.ts.map +1 -0
  341. package/dist/dashboard/api/hooks.js +342 -0
  342. package/dist/dashboard/api/hooks.js.map +1 -0
  343. package/dist/dashboard/api/hotReload.d.ts +14 -0
  344. package/dist/dashboard/api/hotReload.d.ts.map +1 -0
  345. package/dist/dashboard/api/hotReload.js +219 -0
  346. package/dist/dashboard/api/hotReload.js.map +1 -0
  347. package/dist/dashboard/api/liveSessionStream.d.ts +19 -0
  348. package/dist/dashboard/api/liveSessionStream.d.ts.map +1 -0
  349. package/dist/dashboard/api/liveSessionStream.js +430 -0
  350. package/dist/dashboard/api/liveSessionStream.js.map +1 -0
  351. package/dist/dashboard/api/memoryRecall.d.ts +20 -0
  352. package/dist/dashboard/api/memoryRecall.d.ts.map +1 -0
  353. package/dist/dashboard/api/memoryRecall.js +524 -0
  354. package/dist/dashboard/api/memoryRecall.js.map +1 -0
  355. package/dist/dashboard/api/promptSend.d.ts +33 -0
  356. package/dist/dashboard/api/promptSend.d.ts.map +1 -0
  357. package/dist/dashboard/api/promptSend.js +544 -0
  358. package/dist/dashboard/api/promptSend.js.map +1 -0
  359. package/dist/dashboard/api/settings.d.ts +10 -0
  360. package/dist/dashboard/api/settings.d.ts.map +1 -0
  361. package/dist/dashboard/api/settings.js +656 -0
  362. package/dist/dashboard/api/settings.js.map +1 -0
  363. package/dist/dashboard/api/setup.d.ts +21 -0
  364. package/dist/dashboard/api/setup.d.ts.map +1 -0
  365. package/dist/dashboard/api/setup.js +663 -0
  366. package/dist/dashboard/api/setup.js.map +1 -0
  367. package/dist/dashboard/api/specmemTools.d.ts +14 -0
  368. package/dist/dashboard/api/specmemTools.d.ts.map +1 -0
  369. package/dist/dashboard/api/specmemTools.js +1059 -0
  370. package/dist/dashboard/api/specmemTools.js.map +1 -0
  371. package/dist/dashboard/api/taskTeamMembers.d.ts +8 -0
  372. package/dist/dashboard/api/taskTeamMembers.d.ts.map +1 -0
  373. package/dist/dashboard/api/taskTeamMembers.js +136 -0
  374. package/dist/dashboard/api/taskTeamMembers.js.map +1 -0
  375. package/dist/dashboard/api/teamMemberDeploy.d.ts +15 -0
  376. package/dist/dashboard/api/teamMemberDeploy.d.ts.map +1 -0
  377. package/dist/dashboard/api/teamMemberDeploy.js +421 -0
  378. package/dist/dashboard/api/teamMemberDeploy.js.map +1 -0
  379. package/dist/dashboard/api/teamMemberHistory.d.ts +38 -0
  380. package/dist/dashboard/api/teamMemberHistory.d.ts.map +1 -0
  381. package/dist/dashboard/api/teamMemberHistory.js +583 -0
  382. package/dist/dashboard/api/teamMemberHistory.js.map +1 -0
  383. package/dist/dashboard/api/terminal.d.ts +12 -0
  384. package/dist/dashboard/api/terminal.d.ts.map +1 -0
  385. package/dist/dashboard/api/terminal.js +344 -0
  386. package/dist/dashboard/api/terminal.js.map +1 -0
  387. package/dist/dashboard/api/terminalInject.d.ts +17 -0
  388. package/dist/dashboard/api/terminalInject.d.ts.map +1 -0
  389. package/dist/dashboard/api/terminalInject.js +322 -0
  390. package/dist/dashboard/api/terminalInject.js.map +1 -0
  391. package/dist/dashboard/api/terminalStream.d.ts +12 -0
  392. package/dist/dashboard/api/terminalStream.d.ts.map +1 -0
  393. package/dist/dashboard/api/terminalStream.js +482 -0
  394. package/dist/dashboard/api/terminalStream.js.map +1 -0
  395. package/dist/dashboard/index.d.ts +7 -0
  396. package/dist/dashboard/index.d.ts.map +1 -0
  397. package/dist/dashboard/index.js +7 -0
  398. package/dist/dashboard/index.js.map +1 -0
  399. package/dist/dashboard/ptyStreamer.d.ts +173 -0
  400. package/dist/dashboard/ptyStreamer.d.ts.map +1 -0
  401. package/dist/dashboard/ptyStreamer.js +661 -0
  402. package/dist/dashboard/ptyStreamer.js.map +1 -0
  403. package/dist/dashboard/public/DASHBOARD-README.md +378 -0
  404. package/dist/dashboard/public/INTEGRATION-GUIDE.md +395 -0
  405. package/dist/dashboard/public/codebase-config.html +1247 -0
  406. package/dist/dashboard/public/dashboard-v2.html +1942 -0
  407. package/dist/dashboard/public/data-export.html +819 -0
  408. package/dist/dashboard/public/example-page.html +164 -0
  409. package/dist/dashboard/public/file-explorer.html +1023 -0
  410. package/dist/dashboard/public/hooks.html +1103 -0
  411. package/dist/dashboard/public/index-improvements.css +499 -0
  412. package/dist/dashboard/public/index.html +5534 -0
  413. package/dist/dashboard/public/memory-controls.html +1959 -0
  414. package/dist/dashboard/public/memory-recall.html +1495 -0
  415. package/dist/dashboard/public/previews/skeleton-memory-graph.html +361 -0
  416. package/dist/dashboard/public/previews/skeleton-memory-list.html +366 -0
  417. package/dist/dashboard/public/previews/skeleton-search-results.html +609 -0
  418. package/dist/dashboard/public/previews/skeleton-stats-dashboard.html +556 -0
  419. package/dist/dashboard/public/prompt-console.html +2763 -0
  420. package/dist/dashboard/public/react-dist/assets/index-CkjobT5B.js +871 -0
  421. package/dist/dashboard/public/react-dist/assets/index-iRclxMst.css +1 -0
  422. package/dist/dashboard/public/react-dist/index.html +16 -0
  423. package/dist/dashboard/public/shared-header.js +325 -0
  424. package/dist/dashboard/public/shared-language-selector.js +626 -0
  425. package/dist/dashboard/public/shared-logger.js +66 -0
  426. package/dist/dashboard/public/shared-nav.js +325 -0
  427. package/dist/dashboard/public/shared-theme-blue.css +331 -0
  428. package/dist/dashboard/public/shared-theme.css +813 -0
  429. package/dist/dashboard/public/shared-toast.js +415 -0
  430. package/dist/dashboard/public/team-member-history.html +1291 -0
  431. package/dist/dashboard/public/team-member-spy.html +1199 -0
  432. package/dist/dashboard/public/team-members.html +3756 -0
  433. package/dist/dashboard/public/terminal-output.html +1013 -0
  434. package/dist/dashboard/public/terminal.html +372 -0
  435. package/dist/dashboard/sessionStore.d.ts +86 -0
  436. package/dist/dashboard/sessionStore.d.ts.map +1 -0
  437. package/dist/dashboard/sessionStore.js +262 -0
  438. package/dist/dashboard/sessionStore.js.map +1 -0
  439. package/dist/dashboard/standalone.d.ts +27 -0
  440. package/dist/dashboard/standalone.d.ts.map +1 -0
  441. package/dist/dashboard/standalone.js +380 -0
  442. package/dist/dashboard/standalone.js.map +1 -0
  443. package/dist/dashboard/webServer.d.ts +390 -0
  444. package/dist/dashboard/webServer.d.ts.map +1 -0
  445. package/dist/dashboard/webServer.js +4297 -0
  446. package/dist/dashboard/webServer.js.map +1 -0
  447. package/dist/dashboard/websocket/teamMemberStream.d.ts +87 -0
  448. package/dist/dashboard/websocket/teamMemberStream.d.ts.map +1 -0
  449. package/dist/dashboard/websocket/teamMemberStream.js +366 -0
  450. package/dist/dashboard/websocket/teamMemberStream.js.map +1 -0
  451. package/dist/dashboard/websocket/terminalStream.d.ts +130 -0
  452. package/dist/dashboard/websocket/terminalStream.d.ts.map +1 -0
  453. package/dist/dashboard/websocket/terminalStream.js +456 -0
  454. package/dist/dashboard/websocket/terminalStream.js.map +1 -0
  455. package/dist/database/embeddedPostgres.d.ts +187 -0
  456. package/dist/database/embeddedPostgres.d.ts.map +1 -0
  457. package/dist/database/embeddedPostgres.js +763 -0
  458. package/dist/database/embeddedPostgres.js.map +1 -0
  459. package/dist/database/index.d.ts +12 -0
  460. package/dist/database/index.d.ts.map +1 -0
  461. package/dist/database/index.js +20 -0
  462. package/dist/database/index.js.map +1 -0
  463. package/dist/database/initEmbeddedPostgres.d.ts +124 -0
  464. package/dist/database/initEmbeddedPostgres.d.ts.map +1 -0
  465. package/dist/database/initEmbeddedPostgres.js +855 -0
  466. package/dist/database/initEmbeddedPostgres.js.map +1 -0
  467. package/dist/database.d.ts +256 -0
  468. package/dist/database.d.ts.map +1 -0
  469. package/dist/database.js +1209 -0
  470. package/dist/database.js.map +1 -0
  471. package/dist/db/apiDataManager.d.ts +334 -0
  472. package/dist/db/apiDataManager.d.ts.map +1 -0
  473. package/dist/db/apiDataManager.js +631 -0
  474. package/dist/db/apiDataManager.js.map +1 -0
  475. package/dist/db/batchOperations.d.ts +154 -0
  476. package/dist/db/batchOperations.d.ts.map +1 -0
  477. package/dist/db/batchOperations.js +564 -0
  478. package/dist/db/batchOperations.js.map +1 -0
  479. package/dist/db/bigBrainMigrations.d.ts +48 -0
  480. package/dist/db/bigBrainMigrations.d.ts.map +1 -0
  481. package/dist/db/bigBrainMigrations.js +4266 -0
  482. package/dist/db/bigBrainMigrations.js.map +1 -0
  483. package/dist/db/connectionPoolGoBrrr.d.ts +94 -0
  484. package/dist/db/connectionPoolGoBrrr.d.ts.map +1 -0
  485. package/dist/db/connectionPoolGoBrrr.js +548 -0
  486. package/dist/db/connectionPoolGoBrrr.js.map +1 -0
  487. package/dist/db/dashboardQueries.d.ts +182 -0
  488. package/dist/db/dashboardQueries.d.ts.map +1 -0
  489. package/dist/db/dashboardQueries.js +821 -0
  490. package/dist/db/dashboardQueries.js.map +1 -0
  491. package/dist/db/deploymentBootstrap.d.ts +43 -0
  492. package/dist/db/deploymentBootstrap.d.ts.map +1 -0
  493. package/dist/db/deploymentBootstrap.js +329 -0
  494. package/dist/db/deploymentBootstrap.js.map +1 -0
  495. package/dist/db/dimensionService.d.ts +140 -0
  496. package/dist/db/dimensionService.d.ts.map +1 -0
  497. package/dist/db/dimensionService.js +261 -0
  498. package/dist/db/dimensionService.js.map +1 -0
  499. package/dist/db/embeddingOverflow.d.ts +69 -0
  500. package/dist/db/embeddingOverflow.d.ts.map +1 -0
  501. package/dist/db/embeddingOverflow.js +332 -0
  502. package/dist/db/embeddingOverflow.js.map +1 -0
  503. package/dist/db/embeddingOverflow.sql +221 -0
  504. package/dist/db/findThatShit.d.ts +145 -0
  505. package/dist/db/findThatShit.d.ts.map +1 -0
  506. package/dist/db/findThatShit.js +782 -0
  507. package/dist/db/findThatShit.js.map +1 -0
  508. package/dist/db/hotPathManager.d.ts +187 -0
  509. package/dist/db/hotPathManager.d.ts.map +1 -0
  510. package/dist/db/hotPathManager.js +504 -0
  511. package/dist/db/hotPathManager.js.map +1 -0
  512. package/dist/db/index.d.ts +85 -0
  513. package/dist/db/index.d.ts.map +1 -0
  514. package/dist/db/index.js +219 -0
  515. package/dist/db/index.js.map +1 -0
  516. package/dist/db/memoryDrilldown.sql +99 -0
  517. package/dist/db/migrate.d.ts +3 -0
  518. package/dist/db/migrate.d.ts.map +1 -0
  519. package/dist/db/migrate.js +97 -0
  520. package/dist/db/migrate.js.map +1 -0
  521. package/dist/db/migrateJsonToPostgres.d.ts +43 -0
  522. package/dist/db/migrateJsonToPostgres.d.ts.map +1 -0
  523. package/dist/db/migrateJsonToPostgres.js +465 -0
  524. package/dist/db/migrateJsonToPostgres.js.map +1 -0
  525. package/dist/db/nukeFromOrbit.d.ts +63 -0
  526. package/dist/db/nukeFromOrbit.d.ts.map +1 -0
  527. package/dist/db/nukeFromOrbit.js +499 -0
  528. package/dist/db/nukeFromOrbit.js.map +1 -0
  529. package/dist/db/processedTraining.sql +60 -0
  530. package/dist/db/projectNamespacing.d.ts +258 -0
  531. package/dist/db/projectNamespacing.d.ts.map +1 -0
  532. package/dist/db/projectNamespacing.js +920 -0
  533. package/dist/db/projectNamespacing.js.map +1 -0
  534. package/dist/db/projectNamespacing.sql +374 -0
  535. package/dist/db/projectSchemaInit.sql +271 -0
  536. package/dist/db/spatialMemory.d.ts +296 -0
  537. package/dist/db/spatialMemory.d.ts.map +1 -0
  538. package/dist/db/spatialMemory.js +818 -0
  539. package/dist/db/spatialMemory.js.map +1 -0
  540. package/dist/db/streamingQuery.d.ts +143 -0
  541. package/dist/db/streamingQuery.d.ts.map +1 -0
  542. package/dist/db/streamingQuery.js +350 -0
  543. package/dist/db/streamingQuery.js.map +1 -0
  544. package/dist/db/teamComms.sql +224 -0
  545. package/dist/db/yeetStuffInDb.d.ts +72 -0
  546. package/dist/db/yeetStuffInDb.d.ts.map +1 -0
  547. package/dist/db/yeetStuffInDb.js +473 -0
  548. package/dist/db/yeetStuffInDb.js.map +1 -0
  549. package/dist/embedding-providers/index.d.ts +10 -0
  550. package/dist/embedding-providers/index.d.ts.map +1 -0
  551. package/dist/embedding-providers/index.js +12 -0
  552. package/dist/embedding-providers/index.js.map +1 -0
  553. package/dist/embeddings/projectionLayer.d.ts +114 -0
  554. package/dist/embeddings/projectionLayer.d.ts.map +1 -0
  555. package/dist/embeddings/projectionLayer.js +345 -0
  556. package/dist/embeddings/projectionLayer.js.map +1 -0
  557. package/dist/events/Publisher.d.ts +193 -0
  558. package/dist/events/Publisher.d.ts.map +1 -0
  559. package/dist/events/Publisher.js +439 -0
  560. package/dist/events/Publisher.js.map +1 -0
  561. package/dist/events/config.d.ts +139 -0
  562. package/dist/events/config.d.ts.map +1 -0
  563. package/dist/events/config.js +266 -0
  564. package/dist/events/config.js.map +1 -0
  565. package/dist/events/index.d.ts +19 -0
  566. package/dist/events/index.d.ts.map +1 -0
  567. package/dist/events/index.js +31 -0
  568. package/dist/events/index.js.map +1 -0
  569. package/dist/events/integration.d.ts +206 -0
  570. package/dist/events/integration.d.ts.map +1 -0
  571. package/dist/events/integration.js +348 -0
  572. package/dist/events/integration.js.map +1 -0
  573. package/dist/events/metrics.d.ts +147 -0
  574. package/dist/events/metrics.d.ts.map +1 -0
  575. package/dist/events/metrics.js +343 -0
  576. package/dist/events/metrics.js.map +1 -0
  577. package/dist/hooks/cli.d.ts +28 -0
  578. package/dist/hooks/cli.d.ts.map +1 -0
  579. package/dist/hooks/cli.js +118 -0
  580. package/dist/hooks/cli.js.map +1 -0
  581. package/dist/hooks/contextInjectionHook.d.ts +60 -0
  582. package/dist/hooks/contextInjectionHook.d.ts.map +1 -0
  583. package/dist/hooks/contextInjectionHook.js +294 -0
  584. package/dist/hooks/contextInjectionHook.js.map +1 -0
  585. package/dist/hooks/drilldownHook.d.ts +125 -0
  586. package/dist/hooks/drilldownHook.d.ts.map +1 -0
  587. package/dist/hooks/drilldownHook.js +181 -0
  588. package/dist/hooks/drilldownHook.js.map +1 -0
  589. package/dist/hooks/hookManager.d.ts +180 -0
  590. package/dist/hooks/hookManager.d.ts.map +1 -0
  591. package/dist/hooks/hookManager.js +782 -0
  592. package/dist/hooks/hookManager.js.map +1 -0
  593. package/dist/hooks/index.d.ts +62 -0
  594. package/dist/hooks/index.d.ts.map +1 -0
  595. package/dist/hooks/index.js +66 -0
  596. package/dist/hooks/index.js.map +1 -0
  597. package/dist/hooks/lowContextHook.d.ts +71 -0
  598. package/dist/hooks/lowContextHook.d.ts.map +1 -0
  599. package/dist/hooks/lowContextHook.js +258 -0
  600. package/dist/hooks/lowContextHook.js.map +1 -0
  601. package/dist/hooks/simpleContextHook.d.ts +65 -0
  602. package/dist/hooks/simpleContextHook.d.ts.map +1 -0
  603. package/dist/hooks/simpleContextHook.js +194 -0
  604. package/dist/hooks/simpleContextHook.js.map +1 -0
  605. package/dist/hooks/teamFramingCli.d.ts +56 -0
  606. package/dist/hooks/teamFramingCli.d.ts.map +1 -0
  607. package/dist/hooks/teamFramingCli.js +264 -0
  608. package/dist/hooks/teamFramingCli.js.map +1 -0
  609. package/dist/hooks/teamMemberPrepromptHook.d.ts +150 -0
  610. package/dist/hooks/teamMemberPrepromptHook.d.ts.map +1 -0
  611. package/dist/hooks/teamMemberPrepromptHook.js +308 -0
  612. package/dist/hooks/teamMemberPrepromptHook.js.map +1 -0
  613. package/dist/index.d.ts +42 -0
  614. package/dist/index.d.ts.map +1 -0
  615. package/dist/index.js +4433 -0
  616. package/dist/index.js.map +1 -0
  617. package/dist/init/claudeConfigInjector.d.ts +116 -0
  618. package/dist/init/claudeConfigInjector.d.ts.map +1 -0
  619. package/dist/init/claudeConfigInjector.js +1154 -0
  620. package/dist/init/claudeConfigInjector.js.map +1 -0
  621. package/dist/installer/autoInstall.d.ts +72 -0
  622. package/dist/installer/autoInstall.d.ts.map +1 -0
  623. package/dist/installer/autoInstall.js +617 -0
  624. package/dist/installer/autoInstall.js.map +1 -0
  625. package/dist/installer/dbSetup.d.ts +84 -0
  626. package/dist/installer/dbSetup.d.ts.map +1 -0
  627. package/dist/installer/dbSetup.js +350 -0
  628. package/dist/installer/dbSetup.js.map +1 -0
  629. package/dist/installer/firstRun.d.ts +49 -0
  630. package/dist/installer/firstRun.d.ts.map +1 -0
  631. package/dist/installer/firstRun.js +207 -0
  632. package/dist/installer/firstRun.js.map +1 -0
  633. package/dist/installer/index.d.ts +10 -0
  634. package/dist/installer/index.d.ts.map +1 -0
  635. package/dist/installer/index.js +10 -0
  636. package/dist/installer/index.js.map +1 -0
  637. package/dist/installer/silentAutoInstall.d.ts +99 -0
  638. package/dist/installer/silentAutoInstall.d.ts.map +1 -0
  639. package/dist/installer/silentAutoInstall.js +491 -0
  640. package/dist/installer/silentAutoInstall.js.map +1 -0
  641. package/dist/installer/systemDeps.d.ts +54 -0
  642. package/dist/installer/systemDeps.d.ts.map +1 -0
  643. package/dist/installer/systemDeps.js +322 -0
  644. package/dist/installer/systemDeps.js.map +1 -0
  645. package/dist/mcp/cliNotifications.d.ts +133 -0
  646. package/dist/mcp/cliNotifications.d.ts.map +1 -0
  647. package/dist/mcp/cliNotifications.js +289 -0
  648. package/dist/mcp/cliNotifications.js.map +1 -0
  649. package/dist/mcp/embeddingServerManager.d.ts +307 -0
  650. package/dist/mcp/embeddingServerManager.d.ts.map +1 -0
  651. package/dist/mcp/embeddingServerManager.js +2081 -0
  652. package/dist/mcp/embeddingServerManager.js.map +1 -0
  653. package/dist/mcp/healthMonitor.d.ts +196 -0
  654. package/dist/mcp/healthMonitor.d.ts.map +1 -0
  655. package/dist/mcp/healthMonitor.js +685 -0
  656. package/dist/mcp/healthMonitor.js.map +1 -0
  657. package/dist/mcp/hotReloadManager.d.ts +101 -0
  658. package/dist/mcp/hotReloadManager.d.ts.map +1 -0
  659. package/dist/mcp/hotReloadManager.js +251 -0
  660. package/dist/mcp/hotReloadManager.js.map +1 -0
  661. package/dist/mcp/index.d.ts +16 -0
  662. package/dist/mcp/index.d.ts.map +1 -0
  663. package/dist/mcp/index.js +22 -0
  664. package/dist/mcp/index.js.map +1 -0
  665. package/dist/mcp/mcpProtocolHandler.d.ts +64 -0
  666. package/dist/mcp/mcpProtocolHandler.d.ts.map +1 -0
  667. package/dist/mcp/mcpProtocolHandler.js +253 -0
  668. package/dist/mcp/mcpProtocolHandler.js.map +1 -0
  669. package/dist/mcp/miniCOTServerManager.d.ts +336 -0
  670. package/dist/mcp/miniCOTServerManager.d.ts.map +1 -0
  671. package/dist/mcp/miniCOTServerManager.js +1384 -0
  672. package/dist/mcp/miniCOTServerManager.js.map +1 -0
  673. package/dist/mcp/promptExecutor.d.ts +188 -0
  674. package/dist/mcp/promptExecutor.d.ts.map +1 -0
  675. package/dist/mcp/promptExecutor.js +469 -0
  676. package/dist/mcp/promptExecutor.js.map +1 -0
  677. package/dist/mcp/reloadBroadcast.d.ts +127 -0
  678. package/dist/mcp/reloadBroadcast.d.ts.map +1 -0
  679. package/dist/mcp/reloadBroadcast.js +275 -0
  680. package/dist/mcp/reloadBroadcast.js.map +1 -0
  681. package/dist/mcp/resilientTransport.d.ts +249 -0
  682. package/dist/mcp/resilientTransport.d.ts.map +1 -0
  683. package/dist/mcp/resilientTransport.js +931 -0
  684. package/dist/mcp/resilientTransport.js.map +1 -0
  685. package/dist/mcp/samplingHandler.d.ts +129 -0
  686. package/dist/mcp/samplingHandler.d.ts.map +1 -0
  687. package/dist/mcp/samplingHandler.js +276 -0
  688. package/dist/mcp/samplingHandler.js.map +1 -0
  689. package/dist/mcp/specMemServer.d.ts +305 -0
  690. package/dist/mcp/specMemServer.d.ts.map +1 -0
  691. package/dist/mcp/specMemServer.js +2048 -0
  692. package/dist/mcp/specMemServer.js.map +1 -0
  693. package/dist/mcp/toolRegistry.d.ts +122 -0
  694. package/dist/mcp/toolRegistry.d.ts.map +1 -0
  695. package/dist/mcp/toolRegistry.js +609 -0
  696. package/dist/mcp/toolRegistry.js.map +1 -0
  697. package/dist/mcp/tools/embeddingControl.d.ts +114 -0
  698. package/dist/mcp/tools/embeddingControl.d.ts.map +1 -0
  699. package/dist/mcp/tools/embeddingControl.js +222 -0
  700. package/dist/mcp/tools/embeddingControl.js.map +1 -0
  701. package/dist/mcp/tools/index.d.ts +10 -0
  702. package/dist/mcp/tools/index.d.ts.map +1 -0
  703. package/dist/mcp/tools/index.js +17 -0
  704. package/dist/mcp/tools/index.js.map +1 -0
  705. package/dist/mcp/tools/teamComms.d.ts +444 -0
  706. package/dist/mcp/tools/teamComms.d.ts.map +1 -0
  707. package/dist/mcp/tools/teamComms.js +1953 -0
  708. package/dist/mcp/tools/teamComms.js.map +1 -0
  709. package/dist/mcp/triggerSystem.d.ts +129 -0
  710. package/dist/mcp/triggerSystem.d.ts.map +1 -0
  711. package/dist/mcp/triggerSystem.js +363 -0
  712. package/dist/mcp/triggerSystem.js.map +1 -0
  713. package/dist/mcp/watcherIntegration.d.ts +77 -0
  714. package/dist/mcp/watcherIntegration.d.ts.map +1 -0
  715. package/dist/mcp/watcherIntegration.js +428 -0
  716. package/dist/mcp/watcherIntegration.js.map +1 -0
  717. package/dist/mcp/watcherToolWrappers.d.ts +89 -0
  718. package/dist/mcp/watcherToolWrappers.d.ts.map +1 -0
  719. package/dist/mcp/watcherToolWrappers.js +91 -0
  720. package/dist/mcp/watcherToolWrappers.js.map +1 -0
  721. package/dist/memorization/claudeCodeMigration.d.ts +34 -0
  722. package/dist/memorization/claudeCodeMigration.d.ts.map +1 -0
  723. package/dist/memorization/claudeCodeMigration.js +210 -0
  724. package/dist/memorization/claudeCodeMigration.js.map +1 -0
  725. package/dist/memorization/claudeCodeTracker.d.ts +147 -0
  726. package/dist/memorization/claudeCodeTracker.d.ts.map +1 -0
  727. package/dist/memorization/claudeCodeTracker.js +424 -0
  728. package/dist/memorization/claudeCodeTracker.js.map +1 -0
  729. package/dist/memorization/codeMemorizer.d.ts +158 -0
  730. package/dist/memorization/codeMemorizer.d.ts.map +1 -0
  731. package/dist/memorization/codeMemorizer.js +357 -0
  732. package/dist/memorization/codeMemorizer.js.map +1 -0
  733. package/dist/memorization/codeRecall.d.ts +156 -0
  734. package/dist/memorization/codeRecall.d.ts.map +1 -0
  735. package/dist/memorization/codeRecall.js +499 -0
  736. package/dist/memorization/codeRecall.js.map +1 -0
  737. package/dist/memorization/index.d.ts +55 -0
  738. package/dist/memorization/index.d.ts.map +1 -0
  739. package/dist/memorization/index.js +64 -0
  740. package/dist/memorization/index.js.map +1 -0
  741. package/dist/memorization/memorizationTools.d.ts +413 -0
  742. package/dist/memorization/memorizationTools.d.ts.map +1 -0
  743. package/dist/memorization/memorizationTools.js +513 -0
  744. package/dist/memorization/memorizationTools.js.map +1 -0
  745. package/dist/memorization/watcherIntegration.d.ts +100 -0
  746. package/dist/memorization/watcherIntegration.d.ts.map +1 -0
  747. package/dist/memorization/watcherIntegration.js +196 -0
  748. package/dist/memorization/watcherIntegration.js.map +1 -0
  749. package/dist/memory/humanLikeMemory.d.ts +206 -0
  750. package/dist/memory/humanLikeMemory.d.ts.map +1 -0
  751. package/dist/memory/humanLikeMemory.js +603 -0
  752. package/dist/memory/humanLikeMemory.js.map +1 -0
  753. package/dist/memory/index.d.ts +22 -0
  754. package/dist/memory/index.d.ts.map +1 -0
  755. package/dist/memory/index.js +24 -0
  756. package/dist/memory/index.js.map +1 -0
  757. package/dist/memory/memoryEvolutionMigration.d.ts +36 -0
  758. package/dist/memory/memoryEvolutionMigration.d.ts.map +1 -0
  759. package/dist/memory/memoryEvolutionMigration.js +371 -0
  760. package/dist/memory/memoryEvolutionMigration.js.map +1 -0
  761. package/dist/memory/quadrantSearch.d.ts +221 -0
  762. package/dist/memory/quadrantSearch.d.ts.map +1 -0
  763. package/dist/memory/quadrantSearch.js +897 -0
  764. package/dist/memory/quadrantSearch.js.map +1 -0
  765. package/dist/middleware/apiVersioning.d.ts +83 -0
  766. package/dist/middleware/apiVersioning.d.ts.map +1 -0
  767. package/dist/middleware/apiVersioning.js +152 -0
  768. package/dist/middleware/apiVersioning.js.map +1 -0
  769. package/dist/middleware/compression.d.ts +48 -0
  770. package/dist/middleware/compression.d.ts.map +1 -0
  771. package/dist/middleware/compression.js +240 -0
  772. package/dist/middleware/compression.js.map +1 -0
  773. package/dist/middleware/csrf.d.ts +118 -0
  774. package/dist/middleware/csrf.d.ts.map +1 -0
  775. package/dist/middleware/csrf.js +300 -0
  776. package/dist/middleware/csrf.js.map +1 -0
  777. package/dist/middleware/index.d.ts +13 -0
  778. package/dist/middleware/index.d.ts.map +1 -0
  779. package/dist/middleware/index.js +17 -0
  780. package/dist/middleware/index.js.map +1 -0
  781. package/dist/middleware/wsRateLimiter.d.ts +129 -0
  782. package/dist/middleware/wsRateLimiter.d.ts.map +1 -0
  783. package/dist/middleware/wsRateLimiter.js +279 -0
  784. package/dist/middleware/wsRateLimiter.js.map +1 -0
  785. package/dist/migrations/run.d.ts +2 -0
  786. package/dist/migrations/run.d.ts.map +1 -0
  787. package/dist/migrations/run.js +25 -0
  788. package/dist/migrations/run.js.map +1 -0
  789. package/dist/migrations/syncDimensions.d.ts +24 -0
  790. package/dist/migrations/syncDimensions.d.ts.map +1 -0
  791. package/dist/migrations/syncDimensions.js +140 -0
  792. package/dist/migrations/syncDimensions.js.map +1 -0
  793. package/dist/migrations/teamComms.d.ts +16 -0
  794. package/dist/migrations/teamComms.d.ts.map +1 -0
  795. package/dist/migrations/teamComms.js +210 -0
  796. package/dist/migrations/teamComms.js.map +1 -0
  797. package/dist/openapi/index.d.ts +10 -0
  798. package/dist/openapi/index.d.ts.map +1 -0
  799. package/dist/openapi/index.js +10 -0
  800. package/dist/openapi/index.js.map +1 -0
  801. package/dist/openapi/spec.d.ts +902 -0
  802. package/dist/openapi/spec.d.ts.map +1 -0
  803. package/dist/openapi/spec.js +733 -0
  804. package/dist/openapi/spec.js.map +1 -0
  805. package/dist/packages/dependencyHistory.d.ts +113 -0
  806. package/dist/packages/dependencyHistory.d.ts.map +1 -0
  807. package/dist/packages/dependencyHistory.js +360 -0
  808. package/dist/packages/dependencyHistory.js.map +1 -0
  809. package/dist/packages/index.d.ts +30 -0
  810. package/dist/packages/index.d.ts.map +1 -0
  811. package/dist/packages/index.js +65 -0
  812. package/dist/packages/index.js.map +1 -0
  813. package/dist/packages/packageTools.d.ts +255 -0
  814. package/dist/packages/packageTools.d.ts.map +1 -0
  815. package/dist/packages/packageTools.js +242 -0
  816. package/dist/packages/packageTools.js.map +1 -0
  817. package/dist/packages/packageTracker.d.ts +98 -0
  818. package/dist/packages/packageTracker.d.ts.map +1 -0
  819. package/dist/packages/packageTracker.js +268 -0
  820. package/dist/packages/packageTracker.js.map +1 -0
  821. package/dist/packages/packageWatcher.d.ts +62 -0
  822. package/dist/packages/packageWatcher.d.ts.map +1 -0
  823. package/dist/packages/packageWatcher.js +146 -0
  824. package/dist/packages/packageWatcher.js.map +1 -0
  825. package/dist/providers/MiniCOTProvider.d.ts +48 -0
  826. package/dist/providers/MiniCOTProvider.d.ts.map +1 -0
  827. package/dist/providers/MiniCOTProvider.js +98 -0
  828. package/dist/providers/MiniCOTProvider.js.map +1 -0
  829. package/dist/reminders/index.d.ts +5 -0
  830. package/dist/reminders/index.d.ts.map +1 -0
  831. package/dist/reminders/index.js +5 -0
  832. package/dist/reminders/index.js.map +1 -0
  833. package/dist/reminders/skillReminder.d.ts +131 -0
  834. package/dist/reminders/skillReminder.d.ts.map +1 -0
  835. package/dist/reminders/skillReminder.js +386 -0
  836. package/dist/reminders/skillReminder.js.map +1 -0
  837. package/dist/search.d.ts +35 -0
  838. package/dist/search.d.ts.map +1 -0
  839. package/dist/search.js +574 -0
  840. package/dist/search.js.map +1 -0
  841. package/dist/security/localhostOnly.d.ts +36 -0
  842. package/dist/security/localhostOnly.d.ts.map +1 -0
  843. package/dist/security/localhostOnly.js +101 -0
  844. package/dist/security/localhostOnly.js.map +1 -0
  845. package/dist/services/CameraZoomSearch.d.ts +206 -0
  846. package/dist/services/CameraZoomSearch.d.ts.map +1 -0
  847. package/dist/services/CameraZoomSearch.js +669 -0
  848. package/dist/services/CameraZoomSearch.js.map +1 -0
  849. package/dist/services/DataFlowPipeline.d.ts +111 -0
  850. package/dist/services/DataFlowPipeline.d.ts.map +1 -0
  851. package/dist/services/DataFlowPipeline.js +379 -0
  852. package/dist/services/DataFlowPipeline.js.map +1 -0
  853. package/dist/services/DimensionAdapter.d.ts +194 -0
  854. package/dist/services/DimensionAdapter.d.ts.map +1 -0
  855. package/dist/services/DimensionAdapter.js +566 -0
  856. package/dist/services/DimensionAdapter.js.map +1 -0
  857. package/dist/services/DimensionService.d.ts +252 -0
  858. package/dist/services/DimensionService.d.ts.map +1 -0
  859. package/dist/services/DimensionService.js +564 -0
  860. package/dist/services/DimensionService.js.map +1 -0
  861. package/dist/services/EmbeddingQueue.d.ts +71 -0
  862. package/dist/services/EmbeddingQueue.d.ts.map +1 -0
  863. package/dist/services/EmbeddingQueue.js +258 -0
  864. package/dist/services/EmbeddingQueue.js.map +1 -0
  865. package/dist/services/MemoryDrilldown.d.ts +226 -0
  866. package/dist/services/MemoryDrilldown.d.ts.map +1 -0
  867. package/dist/services/MemoryDrilldown.js +479 -0
  868. package/dist/services/MemoryDrilldown.js.map +1 -0
  869. package/dist/services/MiniCOTScorer.d.ts +140 -0
  870. package/dist/services/MiniCOTScorer.d.ts.map +1 -0
  871. package/dist/services/MiniCOTScorer.js +292 -0
  872. package/dist/services/MiniCOTScorer.js.map +1 -0
  873. package/dist/services/ProjectContext.d.ts +342 -0
  874. package/dist/services/ProjectContext.d.ts.map +1 -0
  875. package/dist/services/ProjectContext.js +667 -0
  876. package/dist/services/ProjectContext.js.map +1 -0
  877. package/dist/services/ResponseCompactor.d.ts +135 -0
  878. package/dist/services/ResponseCompactor.d.ts.map +1 -0
  879. package/dist/services/ResponseCompactor.js +501 -0
  880. package/dist/services/ResponseCompactor.js.map +1 -0
  881. package/dist/services/TeamCommsDbService.d.ts +202 -0
  882. package/dist/services/TeamCommsDbService.d.ts.map +1 -0
  883. package/dist/services/TeamCommsDbService.js +526 -0
  884. package/dist/services/TeamCommsDbService.js.map +1 -0
  885. package/dist/services/UnifiedPasswordService.d.ts +166 -0
  886. package/dist/services/UnifiedPasswordService.d.ts.map +1 -0
  887. package/dist/services/UnifiedPasswordService.js +587 -0
  888. package/dist/services/UnifiedPasswordService.js.map +1 -0
  889. package/dist/services/adaptiveSearchConfig.d.ts +64 -0
  890. package/dist/services/adaptiveSearchConfig.d.ts.map +1 -0
  891. package/dist/services/adaptiveSearchConfig.js +187 -0
  892. package/dist/services/adaptiveSearchConfig.js.map +1 -0
  893. package/dist/skills/index.d.ts +8 -0
  894. package/dist/skills/index.d.ts.map +1 -0
  895. package/dist/skills/index.js +8 -0
  896. package/dist/skills/index.js.map +1 -0
  897. package/dist/skills/skillScanner.d.ts +203 -0
  898. package/dist/skills/skillScanner.d.ts.map +1 -0
  899. package/dist/skills/skillScanner.js +559 -0
  900. package/dist/skills/skillScanner.js.map +1 -0
  901. package/dist/skills/skillsResource.d.ts +69 -0
  902. package/dist/skills/skillsResource.d.ts.map +1 -0
  903. package/dist/skills/skillsResource.js +257 -0
  904. package/dist/skills/skillsResource.js.map +1 -0
  905. package/dist/startup/index.d.ts +9 -0
  906. package/dist/startup/index.d.ts.map +1 -0
  907. package/dist/startup/index.js +12 -0
  908. package/dist/startup/index.js.map +1 -0
  909. package/dist/startup/startupIndexing.d.ts +80 -0
  910. package/dist/startup/startupIndexing.d.ts.map +1 -0
  911. package/dist/startup/startupIndexing.js +463 -0
  912. package/dist/startup/startupIndexing.js.map +1 -0
  913. package/dist/startup/validation.d.ts +89 -0
  914. package/dist/startup/validation.d.ts.map +1 -0
  915. package/dist/startup/validation.js +590 -0
  916. package/dist/startup/validation.js.map +1 -0
  917. package/dist/storage/index.d.ts +4 -0
  918. package/dist/storage/index.d.ts.map +1 -0
  919. package/dist/storage/index.js +4 -0
  920. package/dist/storage/index.js.map +1 -0
  921. package/dist/storage/overflowManager.d.ts +80 -0
  922. package/dist/storage/overflowManager.d.ts.map +1 -0
  923. package/dist/storage/overflowManager.js +317 -0
  924. package/dist/storage/overflowManager.js.map +1 -0
  925. package/dist/storage/overflowStorage.d.ts +69 -0
  926. package/dist/storage/overflowStorage.d.ts.map +1 -0
  927. package/dist/storage/overflowStorage.js +379 -0
  928. package/dist/storage/overflowStorage.js.map +1 -0
  929. package/dist/storage/toonFormat.d.ts +50 -0
  930. package/dist/storage/toonFormat.d.ts.map +1 -0
  931. package/dist/storage/toonFormat.js +224 -0
  932. package/dist/storage/toonFormat.js.map +1 -0
  933. package/dist/team-members/communication.d.ts +237 -0
  934. package/dist/team-members/communication.d.ts.map +1 -0
  935. package/dist/team-members/communication.js +650 -0
  936. package/dist/team-members/communication.js.map +1 -0
  937. package/dist/team-members/index.d.ts +14 -0
  938. package/dist/team-members/index.d.ts.map +1 -0
  939. package/dist/team-members/index.js +22 -0
  940. package/dist/team-members/index.js.map +1 -0
  941. package/dist/team-members/taskOrchestrator.d.ts +224 -0
  942. package/dist/team-members/taskOrchestrator.d.ts.map +1 -0
  943. package/dist/team-members/taskOrchestrator.js +574 -0
  944. package/dist/team-members/taskOrchestrator.js.map +1 -0
  945. package/dist/team-members/taskTeamMemberLogger.d.ts +157 -0
  946. package/dist/team-members/taskTeamMemberLogger.d.ts.map +1 -0
  947. package/dist/team-members/taskTeamMemberLogger.js +478 -0
  948. package/dist/team-members/taskTeamMemberLogger.js.map +1 -0
  949. package/dist/team-members/teamCommsService.d.ts +221 -0
  950. package/dist/team-members/teamCommsService.d.ts.map +1 -0
  951. package/dist/team-members/teamCommsService.js +628 -0
  952. package/dist/team-members/teamCommsService.js.map +1 -0
  953. package/dist/team-members/teamMemberChannels.d.ts +217 -0
  954. package/dist/team-members/teamMemberChannels.d.ts.map +1 -0
  955. package/dist/team-members/teamMemberChannels.js +687 -0
  956. package/dist/team-members/teamMemberChannels.js.map +1 -0
  957. package/dist/team-members/teamMemberDashboard.d.ts +222 -0
  958. package/dist/team-members/teamMemberDashboard.d.ts.map +1 -0
  959. package/dist/team-members/teamMemberDashboard.js +610 -0
  960. package/dist/team-members/teamMemberDashboard.js.map +1 -0
  961. package/dist/team-members/teamMemberDeployment.d.ts +60 -0
  962. package/dist/team-members/teamMemberDeployment.d.ts.map +1 -0
  963. package/dist/team-members/teamMemberDeployment.js +429 -0
  964. package/dist/team-members/teamMemberDeployment.js.map +1 -0
  965. package/dist/team-members/teamMemberDiscovery.d.ts +178 -0
  966. package/dist/team-members/teamMemberDiscovery.d.ts.map +1 -0
  967. package/dist/team-members/teamMemberDiscovery.js +446 -0
  968. package/dist/team-members/teamMemberDiscovery.js.map +1 -0
  969. package/dist/team-members/teamMemberHistory.d.ts +80 -0
  970. package/dist/team-members/teamMemberHistory.d.ts.map +1 -0
  971. package/dist/team-members/teamMemberHistory.js +426 -0
  972. package/dist/team-members/teamMemberHistory.js.map +1 -0
  973. package/dist/team-members/teamMemberLimits.d.ts +66 -0
  974. package/dist/team-members/teamMemberLimits.d.ts.map +1 -0
  975. package/dist/team-members/teamMemberLimits.js +259 -0
  976. package/dist/team-members/teamMemberLimits.js.map +1 -0
  977. package/dist/team-members/teamMemberRegistry.d.ts +199 -0
  978. package/dist/team-members/teamMemberRegistry.d.ts.map +1 -0
  979. package/dist/team-members/teamMemberRegistry.js +572 -0
  980. package/dist/team-members/teamMemberRegistry.js.map +1 -0
  981. package/dist/team-members/teamMemberTracker.d.ts +148 -0
  982. package/dist/team-members/teamMemberTracker.d.ts.map +1 -0
  983. package/dist/team-members/teamMemberTracker.js +828 -0
  984. package/dist/team-members/teamMemberTracker.js.map +1 -0
  985. package/dist/team-members/workers/aiWorker.d.ts +53 -0
  986. package/dist/team-members/workers/aiWorker.d.ts.map +1 -0
  987. package/dist/team-members/workers/aiWorker.js +322 -0
  988. package/dist/team-members/workers/aiWorker.js.map +1 -0
  989. package/dist/team-members/workers/baseWorker.d.ts +101 -0
  990. package/dist/team-members/workers/baseWorker.d.ts.map +1 -0
  991. package/dist/team-members/workers/baseWorker.js +179 -0
  992. package/dist/team-members/workers/baseWorker.js.map +1 -0
  993. package/dist/team-members/workers/codeReviewWorker.d.ts +3 -0
  994. package/dist/team-members/workers/codeReviewWorker.d.ts.map +1 -0
  995. package/dist/team-members/workers/codeReviewWorker.js +144 -0
  996. package/dist/team-members/workers/codeReviewWorker.js.map +1 -0
  997. package/dist/team-members/workers/index.d.ts +7 -0
  998. package/dist/team-members/workers/index.d.ts.map +1 -0
  999. package/dist/team-members/workers/index.js +7 -0
  1000. package/dist/team-members/workers/index.js.map +1 -0
  1001. package/dist/team-members/workers/repairWorker.d.ts +9 -0
  1002. package/dist/team-members/workers/repairWorker.d.ts.map +1 -0
  1003. package/dist/team-members/workers/repairWorker.js +102 -0
  1004. package/dist/team-members/workers/repairWorker.js.map +1 -0
  1005. package/dist/team-members/workers/sendToTeamMemberB.d.ts +9 -0
  1006. package/dist/team-members/workers/sendToTeamMemberB.d.ts.map +1 -0
  1007. package/dist/team-members/workers/sendToTeamMemberB.js +105 -0
  1008. package/dist/team-members/workers/sendToTeamMemberB.js.map +1 -0
  1009. package/dist/team-members/workers/specmemClient.d.ts +179 -0
  1010. package/dist/team-members/workers/specmemClient.d.ts.map +1 -0
  1011. package/dist/team-members/workers/specmemClient.js +421 -0
  1012. package/dist/team-members/workers/specmemClient.js.map +1 -0
  1013. package/dist/team-members/workers/testCommunication.d.ts +8 -0
  1014. package/dist/team-members/workers/testCommunication.d.ts.map +1 -0
  1015. package/dist/team-members/workers/testCommunication.js +136 -0
  1016. package/dist/team-members/workers/testCommunication.js.map +1 -0
  1017. package/dist/team-members/workers/testCommunicationSuite.d.ts +26 -0
  1018. package/dist/team-members/workers/testCommunicationSuite.d.ts.map +1 -0
  1019. package/dist/team-members/workers/testCommunicationSuite.js +415 -0
  1020. package/dist/team-members/workers/testCommunicationSuite.js.map +1 -0
  1021. package/dist/team-members/workers/testWorker.d.ts +9 -0
  1022. package/dist/team-members/workers/testWorker.d.ts.map +1 -0
  1023. package/dist/team-members/workers/testWorker.js +107 -0
  1024. package/dist/team-members/workers/testWorker.js.map +1 -0
  1025. package/dist/tools/agentDefinitions.d.ts +30 -0
  1026. package/dist/tools/agentDefinitions.d.ts.map +1 -0
  1027. package/dist/tools/agentDefinitions.js +166 -0
  1028. package/dist/tools/agentDefinitions.js.map +1 -0
  1029. package/dist/tools/goofy/checkSyncStatus.d.ts +68 -0
  1030. package/dist/tools/goofy/checkSyncStatus.d.ts.map +1 -0
  1031. package/dist/tools/goofy/checkSyncStatus.js +112 -0
  1032. package/dist/tools/goofy/checkSyncStatus.js.map +1 -0
  1033. package/dist/tools/goofy/codeMemoryLink.d.ts +82 -0
  1034. package/dist/tools/goofy/codeMemoryLink.d.ts.map +1 -0
  1035. package/dist/tools/goofy/codeMemoryLink.js +212 -0
  1036. package/dist/tools/goofy/codeMemoryLink.js.map +1 -0
  1037. package/dist/tools/goofy/compareInstanceMemory.d.ts +97 -0
  1038. package/dist/tools/goofy/compareInstanceMemory.d.ts.map +1 -0
  1039. package/dist/tools/goofy/compareInstanceMemory.js +218 -0
  1040. package/dist/tools/goofy/compareInstanceMemory.js.map +1 -0
  1041. package/dist/tools/goofy/createReasoningChain.d.ts +135 -0
  1042. package/dist/tools/goofy/createReasoningChain.d.ts.map +1 -0
  1043. package/dist/tools/goofy/createReasoningChain.js +257 -0
  1044. package/dist/tools/goofy/createReasoningChain.js.map +1 -0
  1045. package/dist/tools/goofy/deployTeamMember.d.ts +63 -0
  1046. package/dist/tools/goofy/deployTeamMember.d.ts.map +1 -0
  1047. package/dist/tools/goofy/deployTeamMember.js +103 -0
  1048. package/dist/tools/goofy/deployTeamMember.js.map +1 -0
  1049. package/dist/tools/goofy/drillDown.d.ts +143 -0
  1050. package/dist/tools/goofy/drillDown.d.ts.map +1 -0
  1051. package/dist/tools/goofy/drillDown.js +288 -0
  1052. package/dist/tools/goofy/drillDown.js.map +1 -0
  1053. package/dist/tools/goofy/extractClaudeSessions.d.ts +90 -0
  1054. package/dist/tools/goofy/extractClaudeSessions.d.ts.map +1 -0
  1055. package/dist/tools/goofy/extractClaudeSessions.js +277 -0
  1056. package/dist/tools/goofy/extractClaudeSessions.js.map +1 -0
  1057. package/dist/tools/goofy/extractContextRestorations.d.ts +70 -0
  1058. package/dist/tools/goofy/extractContextRestorations.d.ts.map +1 -0
  1059. package/dist/tools/goofy/extractContextRestorations.js +100 -0
  1060. package/dist/tools/goofy/extractContextRestorations.js.map +1 -0
  1061. package/dist/tools/goofy/findCodePointers.d.ts +364 -0
  1062. package/dist/tools/goofy/findCodePointers.d.ts.map +1 -0
  1063. package/dist/tools/goofy/findCodePointers.js +1764 -0
  1064. package/dist/tools/goofy/findCodePointers.js.map +1 -0
  1065. package/dist/tools/goofy/findMemoryGallery.d.ts +40 -0
  1066. package/dist/tools/goofy/findMemoryGallery.d.ts.map +1 -0
  1067. package/dist/tools/goofy/findMemoryGallery.js +66 -0
  1068. package/dist/tools/goofy/findMemoryGallery.js.map +1 -0
  1069. package/dist/tools/goofy/findWhatISaid.d.ts +300 -0
  1070. package/dist/tools/goofy/findWhatISaid.d.ts.map +1 -0
  1071. package/dist/tools/goofy/findWhatISaid.js +2547 -0
  1072. package/dist/tools/goofy/findWhatISaid.js.map +1 -0
  1073. package/dist/tools/goofy/forceResync.d.ts +57 -0
  1074. package/dist/tools/goofy/forceResync.d.ts.map +1 -0
  1075. package/dist/tools/goofy/forceResync.js +100 -0
  1076. package/dist/tools/goofy/forceResync.js.map +1 -0
  1077. package/dist/tools/goofy/getActiveTeamMembers.d.ts +48 -0
  1078. package/dist/tools/goofy/getActiveTeamMembers.d.ts.map +1 -0
  1079. package/dist/tools/goofy/getActiveTeamMembers.js +136 -0
  1080. package/dist/tools/goofy/getActiveTeamMembers.js.map +1 -0
  1081. package/dist/tools/goofy/getMemoryFull.d.ts +34 -0
  1082. package/dist/tools/goofy/getMemoryFull.d.ts.map +1 -0
  1083. package/dist/tools/goofy/getMemoryFull.js +58 -0
  1084. package/dist/tools/goofy/getMemoryFull.js.map +1 -0
  1085. package/dist/tools/goofy/getSessionWatcherStatus.d.ts +43 -0
  1086. package/dist/tools/goofy/getSessionWatcherStatus.d.ts.map +1 -0
  1087. package/dist/tools/goofy/getSessionWatcherStatus.js +92 -0
  1088. package/dist/tools/goofy/getSessionWatcherStatus.js.map +1 -0
  1089. package/dist/tools/goofy/getTeamMemberOutput.d.ts +35 -0
  1090. package/dist/tools/goofy/getTeamMemberOutput.d.ts.map +1 -0
  1091. package/dist/tools/goofy/getTeamMemberOutput.js +62 -0
  1092. package/dist/tools/goofy/getTeamMemberOutput.js.map +1 -0
  1093. package/dist/tools/goofy/getTeamMemberScreen.d.ts +28 -0
  1094. package/dist/tools/goofy/getTeamMemberScreen.d.ts.map +1 -0
  1095. package/dist/tools/goofy/getTeamMemberScreen.js +59 -0
  1096. package/dist/tools/goofy/getTeamMemberScreen.js.map +1 -0
  1097. package/dist/tools/goofy/getTeamMemberStatus.d.ts +33 -0
  1098. package/dist/tools/goofy/getTeamMemberStatus.d.ts.map +1 -0
  1099. package/dist/tools/goofy/getTeamMemberStatus.js +56 -0
  1100. package/dist/tools/goofy/getTeamMemberStatus.js.map +1 -0
  1101. package/dist/tools/goofy/index.d.ts +39 -0
  1102. package/dist/tools/goofy/index.d.ts.map +1 -0
  1103. package/dist/tools/goofy/index.js +51 -0
  1104. package/dist/tools/goofy/index.js.map +1 -0
  1105. package/dist/tools/goofy/interveneTeamMember.d.ts +33 -0
  1106. package/dist/tools/goofy/interveneTeamMember.d.ts.map +1 -0
  1107. package/dist/tools/goofy/interveneTeamMember.js +69 -0
  1108. package/dist/tools/goofy/interveneTeamMember.js.map +1 -0
  1109. package/dist/tools/goofy/killDeployedTeamMember.d.ts +29 -0
  1110. package/dist/tools/goofy/killDeployedTeamMember.d.ts.map +1 -0
  1111. package/dist/tools/goofy/killDeployedTeamMember.js +56 -0
  1112. package/dist/tools/goofy/killDeployedTeamMember.js.map +1 -0
  1113. package/dist/tools/goofy/linkTheVibes.d.ts +125 -0
  1114. package/dist/tools/goofy/linkTheVibes.d.ts.map +1 -0
  1115. package/dist/tools/goofy/linkTheVibes.js +354 -0
  1116. package/dist/tools/goofy/linkTheVibes.js.map +1 -0
  1117. package/dist/tools/goofy/listDeployedTeamMembers.d.ts +26 -0
  1118. package/dist/tools/goofy/listDeployedTeamMembers.d.ts.map +1 -0
  1119. package/dist/tools/goofy/listDeployedTeamMembers.js +52 -0
  1120. package/dist/tools/goofy/listDeployedTeamMembers.js.map +1 -0
  1121. package/dist/tools/goofy/listenForMessages.d.ts +56 -0
  1122. package/dist/tools/goofy/listenForMessages.d.ts.map +1 -0
  1123. package/dist/tools/goofy/listenForMessages.js +122 -0
  1124. package/dist/tools/goofy/listenForMessages.js.map +1 -0
  1125. package/dist/tools/goofy/memoryHealthCheck.d.ts +159 -0
  1126. package/dist/tools/goofy/memoryHealthCheck.d.ts.map +1 -0
  1127. package/dist/tools/goofy/memoryHealthCheck.js +443 -0
  1128. package/dist/tools/goofy/memoryHealthCheck.js.map +1 -0
  1129. package/dist/tools/goofy/rememberThisShit.d.ts +103 -0
  1130. package/dist/tools/goofy/rememberThisShit.d.ts.map +1 -0
  1131. package/dist/tools/goofy/rememberThisShit.js +291 -0
  1132. package/dist/tools/goofy/rememberThisShit.js.map +1 -0
  1133. package/dist/tools/goofy/sayToTeamMember.d.ts +55 -0
  1134. package/dist/tools/goofy/sayToTeamMember.d.ts.map +1 -0
  1135. package/dist/tools/goofy/sayToTeamMember.js +116 -0
  1136. package/dist/tools/goofy/sayToTeamMember.js.map +1 -0
  1137. package/dist/tools/goofy/selfMessage.d.ts +54 -0
  1138. package/dist/tools/goofy/selfMessage.d.ts.map +1 -0
  1139. package/dist/tools/goofy/selfMessage.js +111 -0
  1140. package/dist/tools/goofy/selfMessage.js.map +1 -0
  1141. package/dist/tools/goofy/sendHeartbeat.d.ts +53 -0
  1142. package/dist/tools/goofy/sendHeartbeat.d.ts.map +1 -0
  1143. package/dist/tools/goofy/sendHeartbeat.js +119 -0
  1144. package/dist/tools/goofy/sendHeartbeat.js.map +1 -0
  1145. package/dist/tools/goofy/showMeTheStats.d.ts +216 -0
  1146. package/dist/tools/goofy/showMeTheStats.d.ts.map +1 -0
  1147. package/dist/tools/goofy/showMeTheStats.js +535 -0
  1148. package/dist/tools/goofy/showMeTheStats.js.map +1 -0
  1149. package/dist/tools/goofy/smartRecall.d.ts +136 -0
  1150. package/dist/tools/goofy/smartRecall.d.ts.map +1 -0
  1151. package/dist/tools/goofy/smartRecall.js +286 -0
  1152. package/dist/tools/goofy/smartRecall.js.map +1 -0
  1153. package/dist/tools/goofy/smartSearch.d.ts +64 -0
  1154. package/dist/tools/goofy/smartSearch.d.ts.map +1 -0
  1155. package/dist/tools/goofy/smartSearch.js +89 -0
  1156. package/dist/tools/goofy/smartSearch.js.map +1 -0
  1157. package/dist/tools/goofy/smushMemoriesTogether.d.ts +128 -0
  1158. package/dist/tools/goofy/smushMemoriesTogether.d.ts.map +1 -0
  1159. package/dist/tools/goofy/smushMemoriesTogether.js +536 -0
  1160. package/dist/tools/goofy/smushMemoriesTogether.js.map +1 -0
  1161. package/dist/tools/goofy/spatialSearch.d.ts +198 -0
  1162. package/dist/tools/goofy/spatialSearch.d.ts.map +1 -0
  1163. package/dist/tools/goofy/spatialSearch.js +551 -0
  1164. package/dist/tools/goofy/spatialSearch.js.map +1 -0
  1165. package/dist/tools/goofy/spawnResearchTeamMember.d.ts +104 -0
  1166. package/dist/tools/goofy/spawnResearchTeamMember.d.ts.map +1 -0
  1167. package/dist/tools/goofy/spawnResearchTeamMember.js +290 -0
  1168. package/dist/tools/goofy/spawnResearchTeamMember.js.map +1 -0
  1169. package/dist/tools/goofy/spawnResearchTeamMemberTool.d.ts +121 -0
  1170. package/dist/tools/goofy/spawnResearchTeamMemberTool.d.ts.map +1 -0
  1171. package/dist/tools/goofy/spawnResearchTeamMemberTool.js +215 -0
  1172. package/dist/tools/goofy/spawnResearchTeamMemberTool.js.map +1 -0
  1173. package/dist/tools/goofy/startWatchingTheFiles.d.ts +81 -0
  1174. package/dist/tools/goofy/startWatchingTheFiles.d.ts.map +1 -0
  1175. package/dist/tools/goofy/startWatchingTheFiles.js +161 -0
  1176. package/dist/tools/goofy/startWatchingTheFiles.js.map +1 -0
  1177. package/dist/tools/goofy/stopWatchingTheFiles.d.ts +50 -0
  1178. package/dist/tools/goofy/stopWatchingTheFiles.d.ts.map +1 -0
  1179. package/dist/tools/goofy/stopWatchingTheFiles.js +81 -0
  1180. package/dist/tools/goofy/stopWatchingTheFiles.js.map +1 -0
  1181. package/dist/tools/goofy/whatDidIMean.d.ts +113 -0
  1182. package/dist/tools/goofy/whatDidIMean.d.ts.map +1 -0
  1183. package/dist/tools/goofy/whatDidIMean.js +401 -0
  1184. package/dist/tools/goofy/whatDidIMean.js.map +1 -0
  1185. package/dist/tools/goofy/yeahNahDeleteThat.d.ts +109 -0
  1186. package/dist/tools/goofy/yeahNahDeleteThat.d.ts.map +1 -0
  1187. package/dist/tools/goofy/yeahNahDeleteThat.js +319 -0
  1188. package/dist/tools/goofy/yeahNahDeleteThat.js.map +1 -0
  1189. package/dist/tools/index.d.ts +9 -0
  1190. package/dist/tools/index.d.ts.map +1 -0
  1191. package/dist/tools/index.js +9 -0
  1192. package/dist/tools/index.js.map +1 -0
  1193. package/dist/tools/teamMemberDeployer.d.ts +117 -0
  1194. package/dist/tools/teamMemberDeployer.d.ts.map +1 -0
  1195. package/dist/tools/teamMemberDeployer.js +613 -0
  1196. package/dist/tools/teamMemberDeployer.js.map +1 -0
  1197. package/dist/trace/index.d.ts +14 -0
  1198. package/dist/trace/index.d.ts.map +1 -0
  1199. package/dist/trace/index.js +16 -0
  1200. package/dist/trace/index.js.map +1 -0
  1201. package/dist/trace/tools/analyzeImpact.d.ts +90 -0
  1202. package/dist/trace/tools/analyzeImpact.d.ts.map +1 -0
  1203. package/dist/trace/tools/analyzeImpact.js +240 -0
  1204. package/dist/trace/tools/analyzeImpact.js.map +1 -0
  1205. package/dist/trace/tools/exploreDependencies.d.ts +81 -0
  1206. package/dist/trace/tools/exploreDependencies.d.ts.map +1 -0
  1207. package/dist/trace/tools/exploreDependencies.js +161 -0
  1208. package/dist/trace/tools/exploreDependencies.js.map +1 -0
  1209. package/dist/trace/tools/findSimilarBugs.d.ts +112 -0
  1210. package/dist/trace/tools/findSimilarBugs.d.ts.map +1 -0
  1211. package/dist/trace/tools/findSimilarBugs.js +216 -0
  1212. package/dist/trace/tools/findSimilarBugs.js.map +1 -0
  1213. package/dist/trace/tools/index.d.ts +22 -0
  1214. package/dist/trace/tools/index.d.ts.map +1 -0
  1215. package/dist/trace/tools/index.js +39 -0
  1216. package/dist/trace/tools/index.js.map +1 -0
  1217. package/dist/trace/tools/smartExplore.d.ts +126 -0
  1218. package/dist/trace/tools/smartExplore.d.ts.map +1 -0
  1219. package/dist/trace/tools/smartExplore.js +303 -0
  1220. package/dist/trace/tools/smartExplore.js.map +1 -0
  1221. package/dist/trace/tools/traceError.d.ts +101 -0
  1222. package/dist/trace/tools/traceError.d.ts.map +1 -0
  1223. package/dist/trace/tools/traceError.js +175 -0
  1224. package/dist/trace/tools/traceError.js.map +1 -0
  1225. package/dist/trace/traceExploreSystem.d.ts +271 -0
  1226. package/dist/trace/traceExploreSystem.d.ts.map +1 -0
  1227. package/dist/trace/traceExploreSystem.js +789 -0
  1228. package/dist/trace/traceExploreSystem.js.map +1 -0
  1229. package/dist/types/index.d.ts +421 -0
  1230. package/dist/types/index.d.ts.map +1 -0
  1231. package/dist/types/index.js +118 -0
  1232. package/dist/types/index.js.map +1 -0
  1233. package/dist/utils/circuitBreaker.d.ts +195 -0
  1234. package/dist/utils/circuitBreaker.d.ts.map +1 -0
  1235. package/dist/utils/circuitBreaker.js +374 -0
  1236. package/dist/utils/circuitBreaker.js.map +1 -0
  1237. package/dist/utils/cleanupHandler.d.ts +108 -0
  1238. package/dist/utils/cleanupHandler.d.ts.map +1 -0
  1239. package/dist/utils/cleanupHandler.js +203 -0
  1240. package/dist/utils/cleanupHandler.js.map +1 -0
  1241. package/dist/utils/compactXmlResponse.d.ts +60 -0
  1242. package/dist/utils/compactXmlResponse.d.ts.map +1 -0
  1243. package/dist/utils/compactXmlResponse.js +209 -0
  1244. package/dist/utils/compactXmlResponse.js.map +1 -0
  1245. package/dist/utils/cotBroadcast.d.ts +56 -0
  1246. package/dist/utils/cotBroadcast.d.ts.map +1 -0
  1247. package/dist/utils/cotBroadcast.js +157 -0
  1248. package/dist/utils/cotBroadcast.js.map +1 -0
  1249. package/dist/utils/debugLogger.d.ts +95 -0
  1250. package/dist/utils/debugLogger.d.ts.map +1 -0
  1251. package/dist/utils/debugLogger.js +610 -0
  1252. package/dist/utils/debugLogger.js.map +1 -0
  1253. package/dist/utils/fileProcessingQueue.d.ts +259 -0
  1254. package/dist/utils/fileProcessingQueue.d.ts.map +1 -0
  1255. package/dist/utils/fileProcessingQueue.js +714 -0
  1256. package/dist/utils/fileProcessingQueue.js.map +1 -0
  1257. package/dist/utils/humanReadableOutput.d.ts +124 -0
  1258. package/dist/utils/humanReadableOutput.d.ts.map +1 -0
  1259. package/dist/utils/humanReadableOutput.js +340 -0
  1260. package/dist/utils/humanReadableOutput.js.map +1 -0
  1261. package/dist/utils/index.d.ts +32 -0
  1262. package/dist/utils/index.d.ts.map +1 -0
  1263. package/dist/utils/index.js +71 -0
  1264. package/dist/utils/index.js.map +1 -0
  1265. package/dist/utils/instanceManager.d.ts +530 -0
  1266. package/dist/utils/instanceManager.d.ts.map +1 -0
  1267. package/dist/utils/instanceManager.js +1784 -0
  1268. package/dist/utils/instanceManager.js.map +1 -0
  1269. package/dist/utils/logger.d.ts +6 -0
  1270. package/dist/utils/logger.d.ts.map +1 -0
  1271. package/dist/utils/logger.js +49 -0
  1272. package/dist/utils/logger.js.map +1 -0
  1273. package/dist/utils/mapCleanup.d.ts +58 -0
  1274. package/dist/utils/mapCleanup.d.ts.map +1 -0
  1275. package/dist/utils/mapCleanup.js +150 -0
  1276. package/dist/utils/mapCleanup.js.map +1 -0
  1277. package/dist/utils/memoryManager.d.ts +349 -0
  1278. package/dist/utils/memoryManager.d.ts.map +1 -0
  1279. package/dist/utils/memoryManager.js +799 -0
  1280. package/dist/utils/memoryManager.js.map +1 -0
  1281. package/dist/utils/metrics.d.ts +160 -0
  1282. package/dist/utils/metrics.d.ts.map +1 -0
  1283. package/dist/utils/metrics.js +558 -0
  1284. package/dist/utils/metrics.js.map +1 -0
  1285. package/dist/utils/pathValidator.d.ts +96 -0
  1286. package/dist/utils/pathValidator.d.ts.map +1 -0
  1287. package/dist/utils/pathValidator.js +320 -0
  1288. package/dist/utils/pathValidator.js.map +1 -0
  1289. package/dist/utils/portAllocator.d.ts +296 -0
  1290. package/dist/utils/portAllocator.d.ts.map +1 -0
  1291. package/dist/utils/portAllocator.js +768 -0
  1292. package/dist/utils/portAllocator.js.map +1 -0
  1293. package/dist/utils/portUtils.d.ts +97 -0
  1294. package/dist/utils/portUtils.d.ts.map +1 -0
  1295. package/dist/utils/portUtils.js +285 -0
  1296. package/dist/utils/portUtils.js.map +1 -0
  1297. package/dist/utils/postgresAutoSetup.d.ts +55 -0
  1298. package/dist/utils/postgresAutoSetup.d.ts.map +1 -0
  1299. package/dist/utils/postgresAutoSetup.js +406 -0
  1300. package/dist/utils/postgresAutoSetup.js.map +1 -0
  1301. package/dist/utils/processHealthCheck.d.ts +61 -0
  1302. package/dist/utils/processHealthCheck.d.ts.map +1 -0
  1303. package/dist/utils/processHealthCheck.js +313 -0
  1304. package/dist/utils/processHealthCheck.js.map +1 -0
  1305. package/dist/utils/progressReporter.d.ts +151 -0
  1306. package/dist/utils/progressReporter.d.ts.map +1 -0
  1307. package/dist/utils/progressReporter.js +345 -0
  1308. package/dist/utils/progressReporter.js.map +1 -0
  1309. package/dist/utils/projectEnv.d.ts +73 -0
  1310. package/dist/utils/projectEnv.d.ts.map +1 -0
  1311. package/dist/utils/projectEnv.js +137 -0
  1312. package/dist/utils/projectEnv.js.map +1 -0
  1313. package/dist/utils/qoms.d.ts +122 -0
  1314. package/dist/utils/qoms.d.ts.map +1 -0
  1315. package/dist/utils/qoms.js +650 -0
  1316. package/dist/utils/qoms.js.map +1 -0
  1317. package/dist/utils/retryHelper.d.ts +122 -0
  1318. package/dist/utils/retryHelper.d.ts.map +1 -0
  1319. package/dist/utils/retryHelper.js +272 -0
  1320. package/dist/utils/retryHelper.js.map +1 -0
  1321. package/dist/utils/safeProcessTermination.d.ts +206 -0
  1322. package/dist/utils/safeProcessTermination.d.ts.map +1 -0
  1323. package/dist/utils/safeProcessTermination.js +552 -0
  1324. package/dist/utils/safeProcessTermination.js.map +1 -0
  1325. package/dist/utils/sessionInjector.d.ts +68 -0
  1326. package/dist/utils/sessionInjector.d.ts.map +1 -0
  1327. package/dist/utils/sessionInjector.js +189 -0
  1328. package/dist/utils/sessionInjector.js.map +1 -0
  1329. package/dist/utils/statsCache.d.ts +134 -0
  1330. package/dist/utils/statsCache.d.ts.map +1 -0
  1331. package/dist/utils/statsCache.js +285 -0
  1332. package/dist/utils/statsCache.js.map +1 -0
  1333. package/dist/utils/timeoutMiddleware.d.ts +81 -0
  1334. package/dist/utils/timeoutMiddleware.d.ts.map +1 -0
  1335. package/dist/utils/timeoutMiddleware.js +155 -0
  1336. package/dist/utils/timeoutMiddleware.js.map +1 -0
  1337. package/dist/utils/timerRegistry.d.ts +91 -0
  1338. package/dist/utils/timerRegistry.d.ts.map +1 -0
  1339. package/dist/utils/timerRegistry.js +187 -0
  1340. package/dist/utils/timerRegistry.js.map +1 -0
  1341. package/dist/utils/tokenCompressor.d.ts +332 -0
  1342. package/dist/utils/tokenCompressor.d.ts.map +1 -0
  1343. package/dist/utils/tokenCompressor.js +1306 -0
  1344. package/dist/utils/tokenCompressor.js.map +1 -0
  1345. package/dist/utils/tracing.d.ts +236 -0
  1346. package/dist/utils/tracing.d.ts.map +1 -0
  1347. package/dist/utils/tracing.js +378 -0
  1348. package/dist/utils/tracing.js.map +1 -0
  1349. package/dist/watcher/changeHandler.d.ts +123 -0
  1350. package/dist/watcher/changeHandler.d.ts.map +1 -0
  1351. package/dist/watcher/changeHandler.js +623 -0
  1352. package/dist/watcher/changeHandler.js.map +1 -0
  1353. package/dist/watcher/changeQueue.d.ts +133 -0
  1354. package/dist/watcher/changeQueue.d.ts.map +1 -0
  1355. package/dist/watcher/changeQueue.js +355 -0
  1356. package/dist/watcher/changeQueue.js.map +1 -0
  1357. package/dist/watcher/fileWatcher.d.ts +121 -0
  1358. package/dist/watcher/fileWatcher.d.ts.map +1 -0
  1359. package/dist/watcher/fileWatcher.js +531 -0
  1360. package/dist/watcher/fileWatcher.js.map +1 -0
  1361. package/dist/watcher/index.d.ts +94 -0
  1362. package/dist/watcher/index.d.ts.map +1 -0
  1363. package/dist/watcher/index.js +235 -0
  1364. package/dist/watcher/index.js.map +1 -0
  1365. package/dist/watcher/syncChecker.d.ts +93 -0
  1366. package/dist/watcher/syncChecker.d.ts.map +1 -0
  1367. package/dist/watcher/syncChecker.js +401 -0
  1368. package/dist/watcher/syncChecker.js.map +1 -0
  1369. package/dist/watcher/tsCompiler.d.ts +88 -0
  1370. package/dist/watcher/tsCompiler.d.ts.map +1 -0
  1371. package/dist/watcher/tsCompiler.js +212 -0
  1372. package/dist/watcher/tsCompiler.js.map +1 -0
  1373. package/embedding-sandbox/Dockerfile +77 -0
  1374. package/embedding-sandbox/Dockerfile.frankenstein +91 -0
  1375. package/embedding-sandbox/README.md +193 -0
  1376. package/embedding-sandbox/__pycache__/frankenstein-embeddings.cpython-312.pyc +0 -0
  1377. package/embedding-sandbox/__pycache__/frankenstein-embeddings.cpython-313.pyc +0 -0
  1378. package/embedding-sandbox/__pycache__/qqms_v2.cpython-312.pyc +0 -0
  1379. package/embedding-sandbox/__pycache__/qqms_v2.cpython-313.pyc +0 -0
  1380. package/embedding-sandbox/add_js_docs.py +684 -0
  1381. package/embedding-sandbox/build_docs_db.py +239 -0
  1382. package/embedding-sandbox/client.cjs +376 -0
  1383. package/embedding-sandbox/client.ts +913 -0
  1384. package/embedding-sandbox/deploy-frankenstein.sh +240 -0
  1385. package/embedding-sandbox/docker-compose.yml +60 -0
  1386. package/embedding-sandbox/docker-manager.py +325 -0
  1387. package/embedding-sandbox/docs/python_docs.db +0 -0
  1388. package/embedding-sandbox/download-model.mjs +79 -0
  1389. package/embedding-sandbox/download-model.py +28 -0
  1390. package/embedding-sandbox/embedding-supervisor.sh +164 -0
  1391. package/embedding-sandbox/frankenstein-embeddings.py +3940 -0
  1392. package/embedding-sandbox/manage-services.sh +354 -0
  1393. package/embedding-sandbox/overflow_queue.py +345 -0
  1394. package/embedding-sandbox/package.json +17 -0
  1395. package/embedding-sandbox/project_isolation.py +292 -0
  1396. package/embedding-sandbox/qqms_v2.py +967 -0
  1397. package/embedding-sandbox/ram-manager.sh +311 -0
  1398. package/embedding-sandbox/requirements-frankenstein.txt +7 -0
  1399. package/embedding-sandbox/run_js_docs.py +59 -0
  1400. package/embedding-sandbox/seed_docs.py +885 -0
  1401. package/embedding-sandbox/server-batch.mjs +228 -0
  1402. package/embedding-sandbox/server.mjs +389 -0
  1403. package/embedding-sandbox/specmem/sockets/claude-input-state.json +1 -0
  1404. package/embedding-sandbox/specmem/sockets/embedding-death-reason.txt +3 -0
  1405. package/embedding-sandbox/specmem/sockets/seen-sessions.json +1 -0
  1406. package/embedding-sandbox/specmem/sockets/session-start.lock +1 -0
  1407. package/embedding-sandbox/specmem/sockets/session-stops.log +7 -0
  1408. package/embedding-sandbox/start-frankenstein-throttled.sh +98 -0
  1409. package/embedding-sandbox/start-on-demand.sh +116 -0
  1410. package/embedding-sandbox/start-sandbox.sh +237 -0
  1411. package/embedding-sandbox/start-supervised.sh +11 -0
  1412. package/embedding-sandbox/stop-sandbox.sh +51 -0
  1413. package/embedding-sandbox/test-socket.mjs +61 -0
  1414. package/embedding-sandbox/warm-start.sh +353 -0
  1415. package/embedding-sandbox/warm_start_feeder.py +660 -0
  1416. package/legal/README.md +31 -0
  1417. package/legal/anthropic-privacy-center-screenshot-2026-01-30.png +0 -0
  1418. package/legal/anthropic-tos-screenshot-2026-01-30.png +0 -0
  1419. package/lib/codebase-bridge.cjs +308 -0
  1420. package/package.json +136 -0
  1421. package/plugins/specmem-agents/agents/bug-hunter.md +79 -0
  1422. package/plugins/specmem-agents/agents/memory-explorer.md +57 -0
  1423. package/plugins/specmem-agents/agents/team-coordinator.md +82 -0
  1424. package/scripts/auto-updater.cjs +399 -0
  1425. package/scripts/backfill-code-definition-embeddings.ts +440 -0
  1426. package/scripts/backfill-code-embeddings.ts +206 -0
  1427. package/scripts/capture-tos-screenshots.cjs +94 -0
  1428. package/scripts/check-global-install.cjs +67 -0
  1429. package/scripts/cleanup-embedding-servers.sh +25 -0
  1430. package/scripts/dashboard-standalone.sh +369 -0
  1431. package/scripts/deploy-hooks.cjs +1451 -0
  1432. package/scripts/deploy.sh +106 -0
  1433. package/scripts/docker-project-down.sh +83 -0
  1434. package/scripts/docker-project-list.sh +40 -0
  1435. package/scripts/docker-project-up.sh +79 -0
  1436. package/scripts/fast-backfill-embeddings.ts +173 -0
  1437. package/scripts/fast-batch-embedder.cjs +334 -0
  1438. package/scripts/first-run-model-setup.cjs +849 -0
  1439. package/scripts/global-postinstall.cjs +1957 -0
  1440. package/scripts/index-codebase.js +72 -0
  1441. package/scripts/migrate-fix-embeddings.py +110 -0
  1442. package/scripts/migrate-to-project-schemas.ts +525 -0
  1443. package/scripts/optimize-embedding-model.py +324 -0
  1444. package/scripts/optimize-instructions.cjs +530 -0
  1445. package/scripts/pack-docker-images.sh +68 -0
  1446. package/scripts/pack-for-testing.sh +130 -0
  1447. package/scripts/postinstall.cjs +54 -0
  1448. package/scripts/project-env.sh +51 -0
  1449. package/scripts/reset-db.sh +30 -0
  1450. package/scripts/run-indexer.ts +69 -0
  1451. package/scripts/run-migrations.js +47 -0
  1452. package/scripts/setup-db.sh +34 -0
  1453. package/scripts/setup-minimal-schema.sql +143 -0
  1454. package/scripts/skills/code-review.md +44 -0
  1455. package/scripts/skills/debugging.md +56 -0
  1456. package/scripts/skills/specmem-deployteam.md +239 -0
  1457. package/scripts/skills/teammemberskills/EFFICIENT_GREP.md +171 -0
  1458. package/scripts/skills/teammemberskills/task-planning.md +67 -0
  1459. package/scripts/specmem/sockets/session-start.lock +1 -0
  1460. package/scripts/specmem/sockets/session-stops.log +1 -0
  1461. package/scripts/specmem-health.sh +382 -0
  1462. package/scripts/specmem-init.cjs +6935 -0
  1463. package/scripts/strip-debug-logs.cjs +43 -0
  1464. package/scripts/test-mcp-standalone.sh +365 -0
  1465. package/scripts/test-optimized-models.py +166 -0
  1466. package/scripts/verify-embedding-fix.sh +148 -0
  1467. package/skills/code-review.md +44 -0
  1468. package/skills/debugging.md +56 -0
  1469. package/skills/specmem-deployteam.md +239 -0
  1470. package/skills/teammemberskills/EFFICIENT_GREP.md +171 -0
  1471. package/skills/teammemberskills/task-planning.md +67 -0
  1472. package/specmem-health.cjs +522 -0
  1473. package/specmem.env +216 -0
@@ -0,0 +1,1495 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>SPECMEM // MEMORY RECALL VIEWER</title>
7
+ <style>
8
+ /* ============================================
9
+ * CSGO THEME - Yellow (#FFD700) & Black (#000000)
10
+ * Memory Recall Viewer Dashboard
11
+ * ============================================ */
12
+
13
+ @import url('https://fonts.googleapis.com/css2?family=Rajdhani:wght@400;500;600;700&family=Orbitron:wght@400;500;600;700&display=swap');
14
+
15
+ * {
16
+ margin: 0;
17
+ padding: 0;
18
+ box-sizing: border-box;
19
+ }
20
+
21
+ :root {
22
+ --csgo-yellow: #FFD700;
23
+ --csgo-yellow-dark: #B8860B;
24
+ --csgo-yellow-glow: rgba(255, 215, 0, 0.5);
25
+ --csgo-black: #000000;
26
+ --csgo-dark: #0a0a0a;
27
+ --csgo-darker: #050505;
28
+ --csgo-gray: #1a1a1a;
29
+ --csgo-gray-light: #2a2a2a;
30
+ --csgo-text: #e0e0e0;
31
+ --csgo-text-dim: #888888;
32
+ --csgo-success: #4CAF50;
33
+ --csgo-error: #f44336;
34
+ --csgo-warning: #ff9800;
35
+ --csgo-border: #333333;
36
+ --csgo-blue: #2196F3;
37
+ --csgo-purple: #9C27B0;
38
+ }
39
+
40
+ body {
41
+ font-family: 'Rajdhani', 'Segoe UI', sans-serif;
42
+ background: var(--csgo-black);
43
+ color: var(--csgo-text);
44
+ min-height: 100vh;
45
+ overflow-x: hidden;
46
+ }
47
+
48
+ body::before {
49
+ content: '';
50
+ position: fixed;
51
+ top: 0;
52
+ left: 0;
53
+ width: 100%;
54
+ height: 100%;
55
+ background:
56
+ linear-gradient(90deg, rgba(255,215,0,0.03) 1px, transparent 1px),
57
+ linear-gradient(rgba(255,215,0,0.03) 1px, transparent 1px);
58
+ background-size: 50px 50px;
59
+ pointer-events: none;
60
+ z-index: 0;
61
+ }
62
+
63
+ /* ============================================
64
+ * HEADER
65
+ * ============================================ */
66
+
67
+ .header {
68
+ position: fixed;
69
+ top: 0;
70
+ left: 0;
71
+ right: 0;
72
+ height: 60px;
73
+ background: linear-gradient(180deg, var(--csgo-dark) 0%, var(--csgo-black) 100%);
74
+ border-bottom: 2px solid var(--csgo-yellow);
75
+ display: flex;
76
+ align-items: center;
77
+ justify-content: space-between;
78
+ padding: 0 20px;
79
+ z-index: 1000;
80
+ box-shadow: 0 4px 20px rgba(255, 215, 0, 0.2);
81
+ }
82
+
83
+ .logo {
84
+ font-family: 'Orbitron', monospace;
85
+ font-size: 20px;
86
+ font-weight: 700;
87
+ color: var(--csgo-yellow);
88
+ text-shadow: 0 0 10px var(--csgo-yellow-glow);
89
+ letter-spacing: 2px;
90
+ display: flex;
91
+ align-items: center;
92
+ gap: 15px;
93
+ }
94
+
95
+ .logo a {
96
+ color: var(--csgo-text-dim);
97
+ text-decoration: none;
98
+ font-size: 14px;
99
+ transition: color 0.3s;
100
+ }
101
+
102
+ .logo a:hover {
103
+ color: var(--csgo-yellow);
104
+ }
105
+
106
+ .header-stats {
107
+ display: flex;
108
+ gap: 30px;
109
+ font-size: 14px;
110
+ }
111
+
112
+ .stat-item {
113
+ display: flex;
114
+ flex-direction: column;
115
+ align-items: center;
116
+ }
117
+
118
+ .stat-value {
119
+ font-family: 'Orbitron', monospace;
120
+ font-size: 18px;
121
+ color: var(--csgo-yellow);
122
+ text-shadow: 0 0 5px var(--csgo-yellow-glow);
123
+ }
124
+
125
+ .stat-label {
126
+ font-size: 10px;
127
+ color: var(--csgo-text-dim);
128
+ text-transform: uppercase;
129
+ letter-spacing: 1px;
130
+ }
131
+
132
+ .header-actions {
133
+ display: flex;
134
+ gap: 10px;
135
+ }
136
+
137
+ /* ============================================
138
+ * MAIN CONTENT
139
+ * ============================================ */
140
+
141
+ .main-content {
142
+ margin-top: 60px;
143
+ padding: 20px;
144
+ min-height: calc(100vh - 60px);
145
+ position: relative;
146
+ z-index: 1;
147
+ }
148
+
149
+ /* ============================================
150
+ * SEARCH BAR
151
+ * ============================================ */
152
+
153
+ .search-container {
154
+ background: linear-gradient(135deg, var(--csgo-gray) 0%, var(--csgo-dark) 100%);
155
+ border: 1px solid var(--csgo-border);
156
+ border-radius: 4px;
157
+ padding: 20px;
158
+ margin-bottom: 20px;
159
+ position: relative;
160
+ overflow: hidden;
161
+ }
162
+
163
+ .search-container::before {
164
+ content: '';
165
+ position: absolute;
166
+ top: 0;
167
+ left: 0;
168
+ right: 0;
169
+ height: 2px;
170
+ background: linear-gradient(90deg, transparent, var(--csgo-yellow), transparent);
171
+ opacity: 0.5;
172
+ }
173
+
174
+ .search-mode-toggle {
175
+ display: flex;
176
+ gap: 10px;
177
+ margin-bottom: 15px;
178
+ }
179
+
180
+ .search-mode-btn {
181
+ padding: 8px 16px;
182
+ background: var(--csgo-darker);
183
+ border: 1px solid var(--csgo-border);
184
+ border-radius: 4px;
185
+ color: var(--csgo-text-dim);
186
+ font-family: 'Rajdhani', sans-serif;
187
+ font-size: 12px;
188
+ text-transform: uppercase;
189
+ letter-spacing: 1px;
190
+ cursor: pointer;
191
+ transition: all 0.3s ease;
192
+ }
193
+
194
+ .search-mode-btn:hover {
195
+ border-color: var(--csgo-yellow);
196
+ color: var(--csgo-text);
197
+ }
198
+
199
+ .search-mode-btn.active {
200
+ background: var(--csgo-yellow);
201
+ border-color: var(--csgo-yellow);
202
+ color: var(--csgo-black);
203
+ font-weight: 600;
204
+ }
205
+
206
+ .search-row {
207
+ display: flex;
208
+ gap: 15px;
209
+ margin-bottom: 15px;
210
+ }
211
+
212
+ .search-input-wrapper {
213
+ flex: 1;
214
+ position: relative;
215
+ }
216
+
217
+ .search-input {
218
+ width: 100%;
219
+ background: var(--csgo-darker);
220
+ border: 1px solid var(--csgo-border);
221
+ border-radius: 2px;
222
+ padding: 12px 15px 12px 40px;
223
+ color: var(--csgo-text);
224
+ font-family: 'Rajdhani', sans-serif;
225
+ font-size: 16px;
226
+ transition: all 0.3s ease;
227
+ }
228
+
229
+ .search-input:focus {
230
+ outline: none;
231
+ border-color: var(--csgo-yellow);
232
+ box-shadow: 0 0 10px rgba(255, 215, 0, 0.2);
233
+ }
234
+
235
+ .search-icon {
236
+ position: absolute;
237
+ left: 12px;
238
+ top: 50%;
239
+ transform: translateY(-50%);
240
+ color: var(--csgo-text-dim);
241
+ font-size: 18px;
242
+ }
243
+
244
+ .filter-row {
245
+ display: flex;
246
+ gap: 15px;
247
+ flex-wrap: wrap;
248
+ align-items: center;
249
+ }
250
+
251
+ .filter-group {
252
+ display: flex;
253
+ align-items: center;
254
+ gap: 8px;
255
+ }
256
+
257
+ .filter-label {
258
+ font-size: 12px;
259
+ text-transform: uppercase;
260
+ letter-spacing: 1px;
261
+ color: var(--csgo-text-dim);
262
+ }
263
+
264
+ .filter-select {
265
+ background: var(--csgo-darker);
266
+ border: 1px solid var(--csgo-border);
267
+ border-radius: 2px;
268
+ padding: 8px 12px;
269
+ color: var(--csgo-text);
270
+ font-family: 'Rajdhani', sans-serif;
271
+ font-size: 14px;
272
+ cursor: pointer;
273
+ }
274
+
275
+ .filter-select:focus {
276
+ outline: none;
277
+ border-color: var(--csgo-yellow);
278
+ }
279
+
280
+ /* ============================================
281
+ * BUTTONS
282
+ * ============================================ */
283
+
284
+ .btn {
285
+ background: linear-gradient(135deg, var(--csgo-yellow) 0%, var(--csgo-yellow-dark) 100%);
286
+ color: var(--csgo-black);
287
+ border: none;
288
+ padding: 10px 20px;
289
+ font-family: 'Rajdhani', sans-serif;
290
+ font-size: 14px;
291
+ font-weight: 600;
292
+ text-transform: uppercase;
293
+ letter-spacing: 1px;
294
+ cursor: pointer;
295
+ transition: all 0.3s ease;
296
+ border-radius: 2px;
297
+ }
298
+
299
+ .btn:hover {
300
+ box-shadow: 0 0 15px var(--csgo-yellow-glow);
301
+ transform: translateY(-1px);
302
+ }
303
+
304
+ .btn-secondary {
305
+ background: var(--csgo-gray-light);
306
+ color: var(--csgo-text);
307
+ border: 1px solid var(--csgo-border);
308
+ }
309
+
310
+ .btn-secondary:hover {
311
+ background: var(--csgo-gray);
312
+ box-shadow: 0 0 10px rgba(255, 255, 255, 0.1);
313
+ }
314
+
315
+ .btn-danger {
316
+ background: linear-gradient(135deg, var(--csgo-error) 0%, #c62828 100%);
317
+ }
318
+
319
+ .btn-small {
320
+ padding: 6px 12px;
321
+ font-size: 12px;
322
+ }
323
+
324
+ /* ============================================
325
+ * MEMORY CARDS GRID
326
+ * ============================================ */
327
+
328
+ .memory-grid {
329
+ display: grid;
330
+ grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
331
+ gap: 20px;
332
+ margin-bottom: 20px;
333
+ }
334
+
335
+ .memory-card {
336
+ background: linear-gradient(135deg, var(--csgo-gray) 0%, var(--csgo-dark) 100%);
337
+ border: 1px solid var(--csgo-border);
338
+ border-radius: 4px;
339
+ overflow: hidden;
340
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
341
+ cursor: pointer;
342
+ position: relative;
343
+ }
344
+
345
+ .memory-card::before {
346
+ content: '';
347
+ position: absolute;
348
+ top: 0;
349
+ left: 0;
350
+ right: 0;
351
+ height: 3px;
352
+ background: linear-gradient(90deg, var(--csgo-yellow), var(--csgo-yellow-dark));
353
+ transform: scaleX(0);
354
+ transform-origin: left;
355
+ transition: transform 0.3s ease;
356
+ }
357
+
358
+ .memory-card:hover {
359
+ border-color: var(--csgo-yellow);
360
+ box-shadow: 0 8px 30px rgba(255, 215, 0, 0.2), 0 0 0 1px rgba(255, 215, 0, 0.1);
361
+ transform: translateY(-4px);
362
+ }
363
+
364
+ .memory-card:hover::before {
365
+ transform: scaleX(1);
366
+ }
367
+
368
+ .memory-card:active {
369
+ transform: translateY(-2px);
370
+ }
371
+
372
+ .memory-card-header {
373
+ background: var(--csgo-darker);
374
+ padding: 12px 15px;
375
+ display: flex;
376
+ justify-content: space-between;
377
+ align-items: center;
378
+ border-bottom: 1px solid var(--csgo-border);
379
+ }
380
+
381
+ .memory-type-badge {
382
+ font-size: 10px;
383
+ text-transform: uppercase;
384
+ letter-spacing: 1px;
385
+ padding: 4px 8px;
386
+ border-radius: 2px;
387
+ font-weight: 600;
388
+ }
389
+
390
+ .memory-type-episodic { background: var(--csgo-blue); color: white; }
391
+ .memory-type-semantic { background: var(--csgo-success); color: white; }
392
+ .memory-type-procedural { background: var(--csgo-purple); color: white; }
393
+ .memory-type-working { background: var(--csgo-warning); color: black; }
394
+ .memory-type-consolidated { background: var(--csgo-yellow); color: black; }
395
+
396
+ .importance-badge {
397
+ font-size: 10px;
398
+ text-transform: uppercase;
399
+ letter-spacing: 1px;
400
+ padding: 4px 8px;
401
+ border-radius: 2px;
402
+ }
403
+
404
+ .importance-critical { background: var(--csgo-error); color: white; }
405
+ .importance-high { background: #ff5722; color: white; }
406
+ .importance-medium { background: var(--csgo-warning); color: black; }
407
+ .importance-low { background: var(--csgo-gray-light); color: var(--csgo-text); }
408
+ .importance-trivial { background: var(--csgo-border); color: var(--csgo-text-dim); }
409
+
410
+ .memory-card-body {
411
+ padding: 15px;
412
+ }
413
+
414
+ .memory-content {
415
+ font-size: 14px;
416
+ line-height: 1.5;
417
+ color: var(--csgo-text);
418
+ max-height: 100px;
419
+ overflow: hidden;
420
+ text-overflow: ellipsis;
421
+ display: -webkit-box;
422
+ -webkit-line-clamp: 4;
423
+ -webkit-box-orient: vertical;
424
+ }
425
+
426
+ .memory-tags {
427
+ display: flex;
428
+ flex-wrap: wrap;
429
+ gap: 6px;
430
+ margin-top: 12px;
431
+ }
432
+
433
+ .memory-tag {
434
+ font-size: 11px;
435
+ background: var(--csgo-darker);
436
+ color: var(--csgo-yellow);
437
+ padding: 3px 8px;
438
+ border-radius: 2px;
439
+ border: 1px solid var(--csgo-yellow);
440
+ }
441
+
442
+ .memory-card-footer {
443
+ background: var(--csgo-darker);
444
+ padding: 10px 15px;
445
+ display: flex;
446
+ justify-content: space-between;
447
+ align-items: center;
448
+ border-top: 1px solid var(--csgo-border);
449
+ font-size: 11px;
450
+ color: var(--csgo-text-dim);
451
+ }
452
+
453
+ .memory-timestamp {
454
+ font-family: 'Orbitron', monospace;
455
+ }
456
+
457
+ .memory-access-count {
458
+ display: flex;
459
+ align-items: center;
460
+ gap: 5px;
461
+ }
462
+
463
+ /* ============================================
464
+ * PAGINATION
465
+ * ============================================ */
466
+
467
+ .pagination-container {
468
+ display: flex;
469
+ justify-content: center;
470
+ align-items: center;
471
+ gap: 20px;
472
+ padding: 20px;
473
+ }
474
+
475
+ .pagination-info {
476
+ color: var(--csgo-text-dim);
477
+ font-size: 14px;
478
+ }
479
+
480
+ .pagination-buttons {
481
+ display: flex;
482
+ gap: 10px;
483
+ }
484
+
485
+ /* ============================================
486
+ * MODAL - Memory Detail View
487
+ * ============================================ */
488
+
489
+ .modal-overlay {
490
+ position: fixed;
491
+ top: 0;
492
+ left: 0;
493
+ right: 0;
494
+ bottom: 0;
495
+ background: rgba(0, 0, 0, 0.9);
496
+ display: none;
497
+ justify-content: center;
498
+ align-items: center;
499
+ z-index: 2000;
500
+ backdrop-filter: blur(5px);
501
+ }
502
+
503
+ .modal-overlay.active {
504
+ display: flex;
505
+ animation: fadeIn 0.3s ease;
506
+ }
507
+
508
+ @keyframes fadeIn {
509
+ from { opacity: 0; }
510
+ to { opacity: 1; }
511
+ }
512
+
513
+ .modal {
514
+ background: linear-gradient(135deg, var(--csgo-dark) 0%, var(--csgo-black) 100%);
515
+ border: 2px solid var(--csgo-yellow);
516
+ border-radius: 4px;
517
+ width: 90vw;
518
+ max-width: 900px;
519
+ max-height: 90vh;
520
+ overflow: hidden;
521
+ position: relative;
522
+ animation: modalSlideIn 0.3s ease;
523
+ box-shadow: 0 0 30px rgba(255, 215, 0, 0.3);
524
+ }
525
+
526
+ @keyframes modalSlideIn {
527
+ from { transform: translateY(-20px) scale(0.95); opacity: 0; }
528
+ to { transform: translateY(0) scale(1); opacity: 1; }
529
+ }
530
+
531
+ .modal-header {
532
+ background: linear-gradient(90deg, var(--csgo-yellow) 0%, var(--csgo-yellow-dark) 100%);
533
+ color: var(--csgo-black);
534
+ padding: 15px 20px;
535
+ display: flex;
536
+ justify-content: space-between;
537
+ align-items: center;
538
+ }
539
+
540
+ .modal-title {
541
+ font-family: 'Orbitron', monospace;
542
+ font-size: 16px;
543
+ font-weight: 700;
544
+ text-transform: uppercase;
545
+ letter-spacing: 2px;
546
+ }
547
+
548
+ .modal-close {
549
+ background: none;
550
+ border: none;
551
+ color: var(--csgo-black);
552
+ font-size: 24px;
553
+ cursor: pointer;
554
+ transition: transform 0.2s ease;
555
+ }
556
+
557
+ .modal-close:hover {
558
+ transform: scale(1.2);
559
+ }
560
+
561
+ .modal-body {
562
+ padding: 20px;
563
+ max-height: calc(90vh - 120px);
564
+ overflow-y: auto;
565
+ }
566
+
567
+ .modal-body::-webkit-scrollbar {
568
+ width: 8px;
569
+ }
570
+
571
+ .modal-body::-webkit-scrollbar-track {
572
+ background: var(--csgo-darker);
573
+ }
574
+
575
+ .modal-body::-webkit-scrollbar-thumb {
576
+ background: var(--csgo-yellow);
577
+ border-radius: 4px;
578
+ }
579
+
580
+ .detail-section {
581
+ margin-bottom: 20px;
582
+ }
583
+
584
+ .detail-section-title {
585
+ font-family: 'Orbitron', monospace;
586
+ font-size: 12px;
587
+ text-transform: uppercase;
588
+ letter-spacing: 2px;
589
+ color: var(--csgo-yellow);
590
+ margin-bottom: 10px;
591
+ padding-bottom: 5px;
592
+ border-bottom: 1px solid var(--csgo-border);
593
+ }
594
+
595
+ .detail-content {
596
+ background: var(--csgo-darker);
597
+ padding: 15px;
598
+ border-radius: 4px;
599
+ font-size: 14px;
600
+ line-height: 1.6;
601
+ white-space: pre-wrap;
602
+ word-break: break-word;
603
+ }
604
+
605
+ .detail-meta-grid {
606
+ display: grid;
607
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
608
+ gap: 15px;
609
+ }
610
+
611
+ .detail-meta-item {
612
+ background: var(--csgo-darker);
613
+ padding: 12px;
614
+ border-radius: 4px;
615
+ }
616
+
617
+ .detail-meta-label {
618
+ font-size: 10px;
619
+ text-transform: uppercase;
620
+ letter-spacing: 1px;
621
+ color: var(--csgo-text-dim);
622
+ margin-bottom: 5px;
623
+ }
624
+
625
+ .detail-meta-value {
626
+ font-size: 14px;
627
+ color: var(--csgo-text);
628
+ }
629
+
630
+ .related-memories-grid {
631
+ display: grid;
632
+ grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
633
+ gap: 15px;
634
+ }
635
+
636
+ .related-memory-card {
637
+ background: var(--csgo-gray);
638
+ border: 1px solid var(--csgo-border);
639
+ border-radius: 4px;
640
+ padding: 12px;
641
+ cursor: pointer;
642
+ transition: all 0.3s ease;
643
+ }
644
+
645
+ .related-memory-card:hover {
646
+ border-color: var(--csgo-yellow);
647
+ }
648
+
649
+ .related-memory-preview {
650
+ font-size: 12px;
651
+ color: var(--csgo-text-dim);
652
+ max-height: 60px;
653
+ overflow: hidden;
654
+ }
655
+
656
+ .related-memory-meta {
657
+ display: flex;
658
+ justify-content: space-between;
659
+ margin-top: 8px;
660
+ font-size: 10px;
661
+ color: var(--csgo-text-dim);
662
+ }
663
+
664
+ .modal-footer {
665
+ background: var(--csgo-darker);
666
+ padding: 15px 20px;
667
+ display: flex;
668
+ justify-content: flex-end;
669
+ gap: 10px;
670
+ border-top: 1px solid var(--csgo-border);
671
+ }
672
+
673
+ /* ============================================
674
+ * LOADING & EMPTY STATES
675
+ * ============================================ */
676
+
677
+ .loading-spinner {
678
+ display: flex;
679
+ justify-content: center;
680
+ align-items: center;
681
+ padding: 60px;
682
+ }
683
+
684
+ .spinner {
685
+ width: 50px;
686
+ height: 50px;
687
+ border: 3px solid var(--csgo-border);
688
+ border-top-color: var(--csgo-yellow);
689
+ border-radius: 50%;
690
+ animation: spin 1s linear infinite;
691
+ }
692
+
693
+ @keyframes spin {
694
+ to { transform: rotate(360deg); }
695
+ }
696
+
697
+ .empty-state {
698
+ text-align: center;
699
+ padding: 60px 20px;
700
+ color: var(--csgo-text-dim);
701
+ }
702
+
703
+ .empty-state-icon {
704
+ font-size: 48px;
705
+ margin-bottom: 15px;
706
+ color: var(--csgo-border);
707
+ }
708
+
709
+ .empty-state-title {
710
+ font-family: 'Orbitron', monospace;
711
+ font-size: 18px;
712
+ color: var(--csgo-text);
713
+ margin-bottom: 10px;
714
+ }
715
+
716
+ /* ============================================
717
+ * TOAST NOTIFICATIONS
718
+ * ============================================ */
719
+
720
+ .toast-container {
721
+ position: fixed;
722
+ bottom: 20px;
723
+ right: 20px;
724
+ z-index: 3000;
725
+ display: flex;
726
+ flex-direction: column;
727
+ gap: 10px;
728
+ }
729
+
730
+ .toast {
731
+ background: var(--csgo-gray);
732
+ border-left: 4px solid var(--csgo-yellow);
733
+ padding: 15px 20px;
734
+ border-radius: 4px;
735
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
736
+ animation: toastSlideIn 0.3s ease;
737
+ min-width: 300px;
738
+ }
739
+
740
+ .toast-success { border-left-color: var(--csgo-success); }
741
+ .toast-error { border-left-color: var(--csgo-error); }
742
+ .toast-warning { border-left-color: var(--csgo-warning); }
743
+
744
+ @keyframes toastSlideIn {
745
+ from { transform: translateX(100%); opacity: 0; }
746
+ to { transform: translateX(0); opacity: 1; }
747
+ }
748
+
749
+ /* Card fade in animation */
750
+ @keyframes cardFadeIn {
751
+ from {
752
+ opacity: 0;
753
+ transform: translateY(20px);
754
+ }
755
+ to {
756
+ opacity: 1;
757
+ transform: translateY(0);
758
+ }
759
+ }
760
+
761
+ /* Skeleton loading animation */
762
+ @keyframes shimmer {
763
+ 0% { background-position: -200% 0; }
764
+ 100% { background-position: 200% 0; }
765
+ }
766
+
767
+ .skeleton {
768
+ background: linear-gradient(90deg, var(--csgo-gray) 25%, var(--csgo-gray-light) 50%, var(--csgo-gray) 75%);
769
+ background-size: 200% 100%;
770
+ animation: shimmer 1.5s infinite;
771
+ border-radius: 4px;
772
+ }
773
+
774
+ /* Memory card shine effect on hover */
775
+ .memory-card::after {
776
+ content: '';
777
+ position: absolute;
778
+ top: 0;
779
+ left: -100%;
780
+ width: 100%;
781
+ height: 100%;
782
+ background: linear-gradient(90deg, transparent, rgba(255, 215, 0, 0.1), transparent);
783
+ transition: left 0.5s ease;
784
+ pointer-events: none;
785
+ }
786
+
787
+ .memory-card:hover::after {
788
+ left: 100%;
789
+ }
790
+
791
+ /* Similarity badge glow */
792
+ .similarity-badge {
793
+ text-transform: uppercase;
794
+ letter-spacing: 0.5px;
795
+ }
796
+ </style>
797
+ <script src="/shared-logger.js"></script>
798
+ </head>
799
+ <body>
800
+ <!-- Header -->
801
+ <header class="header">
802
+ <div class="logo">
803
+ <span>SPECMEM</span> // MEMORY RECALL
804
+ <a href="/">Back to Dashboard</a>
805
+ </div>
806
+ <div class="header-stats">
807
+ <div class="stat-item">
808
+ <span class="stat-value" id="totalMemories">-</span>
809
+ <span class="stat-label">Total Memories</span>
810
+ </div>
811
+ <div class="stat-item">
812
+ <span class="stat-value" id="withEmbeddings">-</span>
813
+ <span class="stat-label">With Embeddings</span>
814
+ </div>
815
+ </div>
816
+ <div id="language-selector-container" style="margin: 0 16px;"></div>
817
+ <div class="header-actions">
818
+ <button class="btn btn-secondary" onclick="exportMemories('json')">Export JSON</button>
819
+ <button class="btn btn-secondary" onclick="exportMemories('csv')">Export CSV</button>
820
+ </div>
821
+ </header>
822
+
823
+ <!-- Main Content -->
824
+ <main class="main-content">
825
+ <!-- Search Container -->
826
+ <div class="search-container">
827
+ <!-- Search Mode Toggle -->
828
+ <div class="search-mode-toggle">
829
+ <button class="search-mode-btn active" id="textSearchBtn" onclick="setSearchMode('text')">
830
+ Text Search
831
+ </button>
832
+ <button class="search-mode-btn" id="semanticSearchBtn" onclick="setSearchMode('semantic')">
833
+ Semantic Search
834
+ </button>
835
+ </div>
836
+
837
+ <div class="search-row">
838
+ <div class="search-input-wrapper">
839
+ <span class="search-icon">&#128269;</span>
840
+ <input type="text" class="search-input" id="searchInput" placeholder="Search memories by content...">
841
+ </div>
842
+ <button class="btn" onclick="searchMemories()">Search</button>
843
+ </div>
844
+ <div class="filter-row">
845
+ <div class="filter-group">
846
+ <span class="filter-label">Type:</span>
847
+ <select class="filter-select" id="filterType">
848
+ <option value="">All Types</option>
849
+ <option value="episodic">Episodic</option>
850
+ <option value="semantic">Semantic</option>
851
+ <option value="procedural">Procedural</option>
852
+ <option value="working">Working</option>
853
+ <option value="consolidated">Consolidated</option>
854
+ </select>
855
+ </div>
856
+ <div class="filter-group">
857
+ <span class="filter-label">Importance:</span>
858
+ <select class="filter-select" id="filterImportance">
859
+ <option value="">All Levels</option>
860
+ <option value="critical">Critical</option>
861
+ <option value="high">High</option>
862
+ <option value="medium">Medium</option>
863
+ <option value="low">Low</option>
864
+ <option value="trivial">Trivial</option>
865
+ </select>
866
+ </div>
867
+ <div class="filter-group">
868
+ <span class="filter-label">Sort:</span>
869
+ <select class="filter-select" id="filterSort">
870
+ <option value="created">Created Date</option>
871
+ <option value="updated">Updated Date</option>
872
+ <option value="accessed">Last Accessed</option>
873
+ <option value="importance">Importance</option>
874
+ </select>
875
+ </div>
876
+ <div class="filter-group">
877
+ <span class="filter-label">Order:</span>
878
+ <select class="filter-select" id="filterOrder">
879
+ <option value="desc">Newest First</option>
880
+ <option value="asc">Oldest First</option>
881
+ </select>
882
+ </div>
883
+ <div class="filter-group">
884
+ <span class="filter-label">Tags:</span>
885
+ <input type="text" class="filter-select" id="filterTags" placeholder="tag1,tag2" style="width: 150px;">
886
+ </div>
887
+ </div>
888
+ </div>
889
+
890
+ <!-- Memory Grid -->
891
+ <div id="memoryGrid" class="memory-grid">
892
+ <!-- Memory cards will be inserted here -->
893
+ </div>
894
+
895
+ <!-- Pagination -->
896
+ <div class="pagination-container">
897
+ <div class="pagination-info" id="paginationInfo">
898
+ Showing 0 of 0 memories
899
+ </div>
900
+ <div class="pagination-buttons">
901
+ <button class="btn btn-secondary btn-small" id="prevBtn" onclick="prevPage()" disabled>Previous</button>
902
+ <button class="btn btn-secondary btn-small" id="nextBtn" onclick="nextPage()" disabled>Next</button>
903
+ </div>
904
+ </div>
905
+ </main>
906
+
907
+ <!-- Memory Detail Modal -->
908
+ <div class="modal-overlay" id="memoryModal">
909
+ <div class="modal">
910
+ <div class="modal-header">
911
+ <span class="modal-title">Memory Details</span>
912
+ <button class="modal-close" onclick="closeModal()">&times;</button>
913
+ </div>
914
+ <div class="modal-body" id="modalBody">
915
+ <!-- Content populated by JavaScript -->
916
+ </div>
917
+ <div class="modal-footer">
918
+ <button class="btn btn-danger btn-small" onclick="deleteCurrentMemory()">Delete Memory</button>
919
+ <button class="btn btn-secondary btn-small" onclick="closeModal()">Close</button>
920
+ </div>
921
+ </div>
922
+ </div>
923
+
924
+ <!-- Toast Container -->
925
+ <div class="toast-container" id="toastContainer"></div>
926
+
927
+ <script>
928
+ // ============================================
929
+ // STATE
930
+ // ============================================
931
+ let currentOffset = 0;
932
+ let currentLimit = 50;
933
+ let totalMemories = 0;
934
+ let currentMemoryId = null;
935
+ let searchDebounceTimer = null;
936
+ let searchMode = 'text'; // 'text' or 'semantic'
937
+
938
+ // ============================================
939
+ // INITIALIZATION
940
+ // ============================================
941
+ document.addEventListener('DOMContentLoaded', () => {
942
+ loadStats();
943
+ loadMemories();
944
+
945
+ // Setup search debounce
946
+ const searchInput = document.getElementById('searchInput');
947
+ searchInput.addEventListener('input', () => {
948
+ clearTimeout(searchDebounceTimer);
949
+ searchDebounceTimer = setTimeout(() => {
950
+ currentOffset = 0;
951
+ loadMemories();
952
+ }, 300);
953
+ });
954
+
955
+ // Setup filter change handlers
956
+ ['filterType', 'filterImportance', 'filterSort', 'filterOrder'].forEach(id => {
957
+ document.getElementById(id).addEventListener('change', () => {
958
+ currentOffset = 0;
959
+ loadMemories();
960
+ });
961
+ });
962
+
963
+ // Enter key to search
964
+ searchInput.addEventListener('keypress', (e) => {
965
+ if (e.key === 'Enter') {
966
+ currentOffset = 0;
967
+ loadMemories();
968
+ }
969
+ });
970
+ });
971
+
972
+ // ============================================
973
+ // SEARCH MODE
974
+ // ============================================
975
+ function setSearchMode(mode) {
976
+ searchMode = mode;
977
+ const textBtn = document.getElementById('textSearchBtn');
978
+ const semanticBtn = document.getElementById('semanticSearchBtn');
979
+ const searchInput = document.getElementById('searchInput');
980
+
981
+ if (mode === 'text') {
982
+ textBtn.classList.add('active');
983
+ semanticBtn.classList.remove('active');
984
+ searchInput.placeholder = 'Search memories by content...';
985
+ } else {
986
+ textBtn.classList.remove('active');
987
+ semanticBtn.classList.add('active');
988
+ searchInput.placeholder = 'Search by meaning (semantic search)...';
989
+ }
990
+
991
+ // Reload if there's a search query
992
+ if (searchInput.value.trim()) {
993
+ currentOffset = 0;
994
+ loadMemories();
995
+ }
996
+ }
997
+
998
+ // ============================================
999
+ // API FUNCTIONS
1000
+ // ============================================
1001
+ async function loadStats() {
1002
+ try {
1003
+ const response = await fetch('/api/memory/stats');
1004
+ if (response.ok) {
1005
+ const data = await response.json();
1006
+ if (data.success && data.stats) {
1007
+ document.getElementById('totalMemories').textContent = data.stats.total.toLocaleString();
1008
+ document.getElementById('withEmbeddings').textContent = data.stats.withEmbeddings.toLocaleString();
1009
+ }
1010
+ }
1011
+ } catch (error) {
1012
+ console.error('Failed to load stats:', error);
1013
+ }
1014
+ }
1015
+
1016
+ async function loadMemories() {
1017
+ const grid = document.getElementById('memoryGrid');
1018
+ grid.innerHTML = '<div class="loading-spinner"><div class="spinner"></div></div>';
1019
+
1020
+ try {
1021
+ const searchQuery = document.getElementById('searchInput').value;
1022
+ const memoryType = document.getElementById('filterType').value;
1023
+ const importance = document.getElementById('filterImportance').value;
1024
+ const orderBy = document.getElementById('filterSort').value;
1025
+ const orderDirection = document.getElementById('filterOrder').value;
1026
+ const tags = document.getElementById('filterTags').value;
1027
+
1028
+ let response;
1029
+ let data;
1030
+
1031
+ // Use semantic search if enabled and there's a query
1032
+ if (searchMode === 'semantic' && searchQuery.trim()) {
1033
+ response = await fetch('/api/memory/semantic', {
1034
+ method: 'POST',
1035
+ headers: { 'Content-Type': 'application/json' },
1036
+ body: JSON.stringify({
1037
+ query: searchQuery,
1038
+ limit: currentLimit,
1039
+ memoryType: memoryType || undefined,
1040
+ importance: importance || undefined
1041
+ })
1042
+ });
1043
+
1044
+ if (!response.ok) {
1045
+ throw new Error('Semantic search failed');
1046
+ }
1047
+
1048
+ data = await response.json();
1049
+ // Transform semantic results to match regular format
1050
+ const memories = (data.results || []).map(r => ({
1051
+ ...r.memory,
1052
+ similarity: r.similarity
1053
+ }));
1054
+ totalMemories = memories.length;
1055
+
1056
+ renderMemories(memories, true);
1057
+ updatePagination({
1058
+ memories,
1059
+ total: memories.length,
1060
+ hasMore: false,
1061
+ page: { offset: 0, limit: currentLimit }
1062
+ });
1063
+ return;
1064
+ }
1065
+
1066
+ // Build query params for text search
1067
+ const params = new URLSearchParams({
1068
+ limit: currentLimit,
1069
+ offset: currentOffset,
1070
+ orderBy,
1071
+ orderDirection
1072
+ });
1073
+
1074
+ if (searchQuery) params.append('q', searchQuery);
1075
+ if (memoryType) params.append('memoryType', memoryType);
1076
+ if (importance) params.append('importance', importance);
1077
+
1078
+ // Use different endpoint for tag filtering
1079
+ let url = `/api/memory/search?${params}`;
1080
+ if (tags && !searchQuery) {
1081
+ url = `/api/memory/by-tags?tags=${encodeURIComponent(tags)}&limit=${currentLimit}&offset=${currentOffset}`;
1082
+ }
1083
+
1084
+ response = await fetch(url);
1085
+ if (!response.ok) {
1086
+ throw new Error('Failed to load memories');
1087
+ }
1088
+
1089
+ data = await response.json();
1090
+ const memories = data.memories || [];
1091
+ totalMemories = data.total || memories.length;
1092
+
1093
+ renderMemories(memories, false);
1094
+ updatePagination(data);
1095
+ } catch (error) {
1096
+ console.error('Failed to load memories:', error);
1097
+ grid.innerHTML = `
1098
+ <div class="empty-state">
1099
+ <div class="empty-state-icon">&#9888;</div>
1100
+ <div class="empty-state-title">Error Loading Memories</div>
1101
+ <p>${error.message}</p>
1102
+ </div>
1103
+ `;
1104
+ }
1105
+ }
1106
+
1107
+ async function loadMemoryDetail(id) {
1108
+ try {
1109
+ const response = await fetch(`/api/memory/recall/${id}`);
1110
+ if (!response.ok) {
1111
+ throw new Error('Failed to load memory details');
1112
+ }
1113
+
1114
+ const data = await response.json();
1115
+ if (data.success && data.memory) {
1116
+ currentMemoryId = id;
1117
+ renderMemoryModal(data.memory);
1118
+ openModal();
1119
+
1120
+ // Load related memories
1121
+ loadRelatedMemories(id);
1122
+ }
1123
+ } catch (error) {
1124
+ console.error('Failed to load memory detail:', error);
1125
+ showToast('Failed to load memory details', 'error');
1126
+ }
1127
+ }
1128
+
1129
+ async function loadRelatedMemories(id) {
1130
+ try {
1131
+ const response = await fetch(`/api/memory/${id}/related?depth=2`);
1132
+ if (response.ok) {
1133
+ const data = await response.json();
1134
+ if (data.success && data.relatedMemories && data.relatedMemories.length > 0) {
1135
+ renderRelatedMemories(data.relatedMemories);
1136
+ }
1137
+ }
1138
+ } catch (error) {
1139
+ console.error('Failed to load related memories:', error);
1140
+ }
1141
+ }
1142
+
1143
+ async function deleteMemory(id) {
1144
+ if (!confirm('Are you sure you want to delete this memory? This cannot be undone.')) {
1145
+ return;
1146
+ }
1147
+
1148
+ try {
1149
+ const response = await fetch(`/api/memory/${id}`, {
1150
+ method: 'DELETE'
1151
+ });
1152
+
1153
+ if (!response.ok) {
1154
+ throw new Error('Failed to delete memory');
1155
+ }
1156
+
1157
+ showToast('Memory deleted successfully', 'success');
1158
+ closeModal();
1159
+ loadMemories();
1160
+ loadStats();
1161
+ } catch (error) {
1162
+ console.error('Failed to delete memory:', error);
1163
+ showToast('Failed to delete memory', 'error');
1164
+ }
1165
+ }
1166
+
1167
+ async function exportMemories(format) {
1168
+ try {
1169
+ const searchQuery = document.getElementById('searchInput').value;
1170
+ const memoryType = document.getElementById('filterType').value;
1171
+ const tags = document.getElementById('filterTags').value.split(',').filter(t => t.trim());
1172
+
1173
+ const body = {
1174
+ format,
1175
+ limit: 1000
1176
+ };
1177
+
1178
+ if (memoryType) body.memoryType = memoryType;
1179
+ if (tags.length > 0) body.tags = tags;
1180
+
1181
+ const response = await fetch('/api/memory/export', {
1182
+ method: 'POST',
1183
+ headers: { 'Content-Type': 'application/json' },
1184
+ body: JSON.stringify(body)
1185
+ });
1186
+
1187
+ if (!response.ok) {
1188
+ throw new Error('Export failed');
1189
+ }
1190
+
1191
+ if (format === 'csv') {
1192
+ const blob = await response.blob();
1193
+ const url = URL.createObjectURL(blob);
1194
+ const a = document.createElement('a');
1195
+ a.href = url;
1196
+ a.download = 'memories-export.csv';
1197
+ document.body.appendChild(a);
1198
+ a.click();
1199
+ document.body.removeChild(a);
1200
+ URL.revokeObjectURL(url);
1201
+ showToast('Memories exported as CSV', 'success');
1202
+ } else {
1203
+ const data = await response.json();
1204
+ const blob = new Blob([JSON.stringify(data, null, 2)], { type: 'application/json' });
1205
+ const url = URL.createObjectURL(blob);
1206
+ const a = document.createElement('a');
1207
+ a.href = url;
1208
+ a.download = 'memories-export.json';
1209
+ document.body.appendChild(a);
1210
+ a.click();
1211
+ document.body.removeChild(a);
1212
+ URL.revokeObjectURL(url);
1213
+ showToast(`Exported ${data.exported} memories as JSON`, 'success');
1214
+ }
1215
+ } catch (error) {
1216
+ console.error('Export failed:', error);
1217
+ showToast('Export failed', 'error');
1218
+ }
1219
+ }
1220
+
1221
+ // ============================================
1222
+ // RENDER FUNCTIONS
1223
+ // ============================================
1224
+ function renderMemories(memories, showSimilarity = false) {
1225
+ const grid = document.getElementById('memoryGrid');
1226
+
1227
+ if (memories.length === 0) {
1228
+ grid.innerHTML = `
1229
+ <div class="empty-state">
1230
+ <div class="empty-state-icon">&#128193;</div>
1231
+ <div class="empty-state-title">No Memories Found</div>
1232
+ <p>Try adjusting your search or filters</p>
1233
+ </div>
1234
+ `;
1235
+ return;
1236
+ }
1237
+
1238
+ grid.innerHTML = memories.map(memory => `
1239
+ <div class="memory-card" onclick="loadMemoryDetail('${memory.id}')" style="animation: cardFadeIn 0.3s ease forwards; animation-delay: ${memories.indexOf(memory) * 0.05}s; opacity: 0;">
1240
+ <div class="memory-card-header">
1241
+ <span class="memory-type-badge memory-type-${memory.memoryType}">${memory.memoryType}</span>
1242
+ <div style="display: flex; gap: 8px; align-items: center;">
1243
+ ${showSimilarity && memory.similarity !== undefined ? `
1244
+ <span class="similarity-badge" style="background: ${getSimilarityColor(memory.similarity)}; color: ${memory.similarity > 0.7 ? 'black' : 'white'}; padding: 4px 8px; border-radius: 2px; font-size: 10px; font-weight: 600;">
1245
+ ${(memory.similarity * 100).toFixed(0)}% match
1246
+ </span>
1247
+ ` : ''}
1248
+ <span class="importance-badge importance-${memory.importance}">${memory.importance}</span>
1249
+ </div>
1250
+ </div>
1251
+ <div class="memory-card-body">
1252
+ <div class="memory-content">${escapeHtml(memory.content)}</div>
1253
+ ${memory.tags && memory.tags.length > 0 ? `
1254
+ <div class="memory-tags">
1255
+ ${memory.tags.slice(0, 5).map(tag => `<span class="memory-tag">${escapeHtml(tag)}</span>`).join('')}
1256
+ ${memory.tags.length > 5 ? `<span class="memory-tag">+${memory.tags.length - 5} more</span>` : ''}
1257
+ </div>
1258
+ ` : ''}
1259
+ </div>
1260
+ <div class="memory-card-footer">
1261
+ <span class="memory-timestamp">${formatDate(memory.createdAt)}</span>
1262
+ <span class="memory-access-count">&#128065; ${memory.accessCount || 0}</span>
1263
+ </div>
1264
+ </div>
1265
+ `).join('');
1266
+ }
1267
+
1268
+ function getSimilarityColor(similarity) {
1269
+ if (similarity >= 0.8) return '#4CAF50';
1270
+ if (similarity >= 0.6) return '#FFD700';
1271
+ if (similarity >= 0.4) return '#ff9800';
1272
+ return '#f44336';
1273
+ }
1274
+
1275
+ function renderMemoryModal(memory) {
1276
+ const modalBody = document.getElementById('modalBody');
1277
+ modalBody.innerHTML = `
1278
+ <div class="detail-section">
1279
+ <div class="detail-section-title">Content</div>
1280
+ <div class="detail-content">${escapeHtml(memory.content)}</div>
1281
+ </div>
1282
+
1283
+ <div class="detail-section">
1284
+ <div class="detail-section-title">Metadata</div>
1285
+ <div class="detail-meta-grid">
1286
+ <div class="detail-meta-item">
1287
+ <div class="detail-meta-label">Memory ID</div>
1288
+ <div class="detail-meta-value" style="font-family: monospace; font-size: 12px;">${memory.id}</div>
1289
+ </div>
1290
+ <div class="detail-meta-item">
1291
+ <div class="detail-meta-label">Type</div>
1292
+ <div class="detail-meta-value">
1293
+ <span class="memory-type-badge memory-type-${memory.memoryType}">${memory.memoryType}</span>
1294
+ </div>
1295
+ </div>
1296
+ <div class="detail-meta-item">
1297
+ <div class="detail-meta-label">Importance</div>
1298
+ <div class="detail-meta-value">
1299
+ <span class="importance-badge importance-${memory.importance}">${memory.importance}</span>
1300
+ </div>
1301
+ </div>
1302
+ <div class="detail-meta-item">
1303
+ <div class="detail-meta-label">Created</div>
1304
+ <div class="detail-meta-value">${formatDateTime(memory.createdAt)}</div>
1305
+ </div>
1306
+ <div class="detail-meta-item">
1307
+ <div class="detail-meta-label">Updated</div>
1308
+ <div class="detail-meta-value">${formatDateTime(memory.updatedAt)}</div>
1309
+ </div>
1310
+ <div class="detail-meta-item">
1311
+ <div class="detail-meta-label">Access Count</div>
1312
+ <div class="detail-meta-value">${memory.accessCount || 0}</div>
1313
+ </div>
1314
+ <div class="detail-meta-item">
1315
+ <div class="detail-meta-label">Last Accessed</div>
1316
+ <div class="detail-meta-value">${memory.lastAccessedAt ? formatDateTime(memory.lastAccessedAt) : 'Never'}</div>
1317
+ </div>
1318
+ <div class="detail-meta-item">
1319
+ <div class="detail-meta-label">Has Embedding</div>
1320
+ <div class="detail-meta-value">${memory.embedding ? 'Yes' : 'No'}</div>
1321
+ </div>
1322
+ </div>
1323
+ </div>
1324
+
1325
+ ${memory.tags && memory.tags.length > 0 ? `
1326
+ <div class="detail-section">
1327
+ <div class="detail-section-title">Tags</div>
1328
+ <div class="memory-tags">
1329
+ ${memory.tags.map(tag => `<span class="memory-tag">${escapeHtml(tag)}</span>`).join('')}
1330
+ </div>
1331
+ </div>
1332
+ ` : ''}
1333
+
1334
+ ${memory.metadata && Object.keys(memory.metadata).length > 0 ? `
1335
+ <div class="detail-section">
1336
+ <div class="detail-section-title">Custom Metadata</div>
1337
+ <div class="detail-content">${JSON.stringify(memory.metadata, null, 2)}</div>
1338
+ </div>
1339
+ ` : ''}
1340
+
1341
+ <div class="detail-section">
1342
+ <div class="detail-section-title">Related Memories</div>
1343
+ <div id="relatedMemoriesContainer" class="related-memories-grid">
1344
+ <div class="loading-spinner" style="grid-column: 1/-1;"><div class="spinner" style="width: 30px; height: 30px;"></div></div>
1345
+ </div>
1346
+ </div>
1347
+ `;
1348
+ }
1349
+
1350
+ function renderRelatedMemories(relatedMemories) {
1351
+ const container = document.getElementById('relatedMemoriesContainer');
1352
+
1353
+ if (relatedMemories.length === 0) {
1354
+ container.innerHTML = '<p style="color: var(--csgo-text-dim); grid-column: 1/-1;">No related memories found</p>';
1355
+ return;
1356
+ }
1357
+
1358
+ container.innerHTML = relatedMemories.map(item => `
1359
+ <div class="related-memory-card" onclick="loadMemoryDetail('${item.memory.id}')">
1360
+ <div class="related-memory-preview">${escapeHtml(item.memory.content.substring(0, 150))}...</div>
1361
+ <div class="related-memory-meta">
1362
+ <span>${item.relationType} (depth: ${item.depth})</span>
1363
+ <span>Strength: ${(item.strength * 100).toFixed(0)}%</span>
1364
+ </div>
1365
+ </div>
1366
+ `).join('');
1367
+ }
1368
+
1369
+ function updatePagination(data) {
1370
+ const info = document.getElementById('paginationInfo');
1371
+ const prevBtn = document.getElementById('prevBtn');
1372
+ const nextBtn = document.getElementById('nextBtn');
1373
+
1374
+ const start = data.page.offset + 1;
1375
+ const end = Math.min(data.page.offset + data.memories.length, data.total);
1376
+ info.textContent = `Showing ${start}-${end} of ${data.total} memories`;
1377
+
1378
+ prevBtn.disabled = data.page.offset === 0;
1379
+ nextBtn.disabled = !data.hasMore;
1380
+ }
1381
+
1382
+ // ============================================
1383
+ // PAGINATION
1384
+ // ============================================
1385
+ function prevPage() {
1386
+ if (currentOffset > 0) {
1387
+ currentOffset = Math.max(0, currentOffset - currentLimit);
1388
+ loadMemories();
1389
+ }
1390
+ }
1391
+
1392
+ function nextPage() {
1393
+ currentOffset += currentLimit;
1394
+ loadMemories();
1395
+ }
1396
+
1397
+ function searchMemories() {
1398
+ currentOffset = 0;
1399
+ loadMemories();
1400
+ }
1401
+
1402
+ // ============================================
1403
+ // MODAL FUNCTIONS
1404
+ // ============================================
1405
+ function openModal() {
1406
+ document.getElementById('memoryModal').classList.add('active');
1407
+ document.body.style.overflow = 'hidden';
1408
+ }
1409
+
1410
+ function closeModal() {
1411
+ document.getElementById('memoryModal').classList.remove('active');
1412
+ document.body.style.overflow = '';
1413
+ currentMemoryId = null;
1414
+ }
1415
+
1416
+ function deleteCurrentMemory() {
1417
+ if (currentMemoryId) {
1418
+ deleteMemory(currentMemoryId);
1419
+ }
1420
+ }
1421
+
1422
+ // Close modal on outside click
1423
+ document.getElementById('memoryModal').addEventListener('click', (e) => {
1424
+ if (e.target.id === 'memoryModal') {
1425
+ closeModal();
1426
+ }
1427
+ });
1428
+
1429
+ // Close modal on Escape key
1430
+ document.addEventListener('keydown', (e) => {
1431
+ if (e.key === 'Escape') {
1432
+ closeModal();
1433
+ }
1434
+ });
1435
+
1436
+ // ============================================
1437
+ // UTILITY FUNCTIONS
1438
+ // ============================================
1439
+ function escapeHtml(text) {
1440
+ if (!text) return '';
1441
+ const div = document.createElement('div');
1442
+ div.textContent = text;
1443
+ return div.innerHTML;
1444
+ }
1445
+
1446
+ function formatDate(dateStr) {
1447
+ if (!dateStr) return 'Unknown';
1448
+ const date = new Date(dateStr);
1449
+ return date.toLocaleDateString('en-US', {
1450
+ year: 'numeric',
1451
+ month: 'short',
1452
+ day: 'numeric'
1453
+ });
1454
+ }
1455
+
1456
+ function formatDateTime(dateStr) {
1457
+ if (!dateStr) return 'Unknown';
1458
+ const date = new Date(dateStr);
1459
+ return date.toLocaleString('en-US', {
1460
+ year: 'numeric',
1461
+ month: 'short',
1462
+ day: 'numeric',
1463
+ hour: '2-digit',
1464
+ minute: '2-digit'
1465
+ });
1466
+ }
1467
+
1468
+ function showToast(message, type = 'info') {
1469
+ const container = document.getElementById('toastContainer');
1470
+ const toast = document.createElement('div');
1471
+ toast.className = `toast toast-${type}`;
1472
+ toast.textContent = message;
1473
+ container.appendChild(toast);
1474
+
1475
+ setTimeout(() => {
1476
+ toast.style.opacity = '0';
1477
+ toast.style.transform = 'translateX(100%)';
1478
+ setTimeout(() => toast.remove(), 300);
1479
+ }, 3000);
1480
+ }
1481
+ </script>
1482
+
1483
+ <!-- Language Selector Component -->
1484
+ <script src="/shared-language-selector.js"></script>
1485
+ <script>
1486
+ // Initialize language selector
1487
+ const langSelector = new SpecMemLanguageSelector({
1488
+ containerId: 'language-selector-container',
1489
+ onLanguageChange: (langCode, langInfo) => {
1490
+ console.log('Language changed to:', langCode, langInfo.name);
1491
+ }
1492
+ });
1493
+ </script>
1494
+ </body>
1495
+ </html>