memorylink 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (870) hide show
  1. package/.cursorrules +0 -0
  2. package/.github/workflows/buddy-check.yml +105 -0
  3. package/.github/workflows/memorylink-preflight.yml +63 -0
  4. package/.github/workflows/release-on-tag.yml +58 -0
  5. package/.github/workflows/stress-tests.yml +79 -0
  6. package/.memorylinkignore +24 -0
  7. package/5000_SCENARIOS_TEST_RESULTS.md +174 -0
  8. package/ADVANCED_SCENARIOS_TEST_RESULTS.md +377 -0
  9. package/AGGRESSIVE_RANDOM_TEST_RESULTS.md +134 -0
  10. package/AI_CONSENSUS_ANALYSIS.md +138 -0
  11. package/AI_CONSENSUS_ANALYSIS_FINAL.md +345 -0
  12. package/AI_CONSENSUS_ANALYSIS_v2.md +188 -0
  13. package/AI_CONSENSUS_ANALYSIS_v3.md +246 -0
  14. package/AI_CONSENSUS_ANALYSIS_v4.md +309 -0
  15. package/AI_CONSENSUS_ANALYSIS_v5.md +311 -0
  16. package/AI_CONSENSUS_ANALYSIS_v6.md +432 -0
  17. package/AI_PANEL_CLARIFICATION_REQUEST.md +37 -0
  18. package/AI_RESPONSES_BLACKBOX.md +338 -0
  19. package/AI_RESPONSES_CHATGPT.md +379 -0
  20. package/AI_RESPONSES_CLAUDE.md +464 -0
  21. package/AI_RESPONSES_CONSOLIDATED.md +560 -0
  22. package/AI_RESPONSES_DEEPSEEK.md +341 -0
  23. package/AI_RESPONSES_GEMINI.md +262 -0
  24. package/AI_RESPONSES_GROK.md +335 -0
  25. package/AI_RESPONSES_MANUS.md +246 -0
  26. package/AI_RESPONSES_PERPLEXITY.md +295 -0
  27. package/AI_RESPONSES_QWEN.md +335 -0
  28. package/AI_REVIEW_REQUEST.md +333 -0
  29. package/AI_STRATEGIC_CONSENSUS_COMPARISON.md +507 -0
  30. package/AI_VALIDATION_AND_GAP_ANALYSIS.md +410 -0
  31. package/ALL_10_AI_RESPONSES_FINAL.md +435 -0
  32. package/ALL_3_AI_RESPONSES_FINAL.md +305 -0
  33. package/ALL_4_AI_RESPONSES_FINAL.md +335 -0
  34. package/ALL_5_AI_RESPONSES_FINAL.md +349 -0
  35. package/ALL_6_AI_RESPONSES_FINAL.md +354 -0
  36. package/ALL_7_AI_RESPONSES_FINAL.md +369 -0
  37. package/ALL_8_AI_RESPONSES_FINAL.md +381 -0
  38. package/ALL_9_AI_RESPONSES_FINAL.md +398 -0
  39. package/ALL_AI_RESPONSES_TRACKER.md +152 -0
  40. package/ALL_AI_RESPONSES_VALIDATED.md +261 -0
  41. package/ALL_FEATURES_COMPLETE.md +198 -0
  42. package/BREAK_IT_TEST_RESULTS.md +273 -0
  43. package/BUDDY_CHECK_STRESS_TEST_PLAN.md +1089 -0
  44. package/CHANGELOG.md +135 -0
  45. package/CHATGPT_GAP_ANALYSIS.md +286 -0
  46. package/CHATGPT_V2_ANALYSIS.md +109 -0
  47. package/CHECK_MISSING_FEATURES.md +192 -0
  48. package/CI_CD_INTEGRATION.md +421 -0
  49. package/COMPETITIVE_LAUNCH_STRATEGY.md +257 -0
  50. package/COMPLETE_COMPETITIVE_ANALYSIS_ALL_AIS.md +339 -0
  51. package/COMPLETE_DEVELOPMENT_PLAN_ALL_AIS.md +622 -0
  52. package/COMPREHENSIVE_FEATURE_ANALYSIS_100_PERCENT.md +423 -0
  53. package/COMPREHENSIVE_TEST_SUMMARY.md +314 -0
  54. package/CONTINUOUS_TESTING_COMPLETE.md +268 -0
  55. package/CONTINUOUS_TESTING_GUIDE.md +328 -0
  56. package/CONTINUOUS_TEST_FINAL_RESULTS.md +148 -0
  57. package/CONTINUOUS_TEST_INSTRUCTIONS.md +173 -0
  58. package/CONTINUOUS_TEST_RESULTS.md +194 -0
  59. package/CONTINUOUS_TEST_STATUS.md +68 -0
  60. package/CURSOR_AI_BUDDY_CHECK_GUIDE.md +439 -0
  61. package/CURSOR_AI_INTEGRATION_GUIDE.md +775 -0
  62. package/CURSOR_AI_V1.4_NEXT_STEPS.md +314 -0
  63. package/CURSOR_BREAK_IT_TEST.md +389 -0
  64. package/CURSOR_DOCUMENTATION_RULES.md +259 -0
  65. package/CURSOR_HOSTILE_TEST_DOCUMENT.md +343 -0
  66. package/CURSOR_PROMPTS_FOR_TESTING.md +252 -0
  67. package/DEPLOYMENT_GUIDE.md +493 -0
  68. package/DEVELOPMENT_AND_OVERNIGHT_TESTING.md +304 -0
  69. package/DEVELOPMENT_PROGRESS.md +185 -0
  70. package/DOCS_CLEANUP_SUMMARY.md +192 -0
  71. package/DOC_CONFIDENTIALITY_RULES.md +259 -0
  72. package/E2E_TEST_REPORT_v1.3.0.md +196 -0
  73. package/E2E_TEST_RESULTS.md +250 -0
  74. package/E2E_TEST_SCENARIOS.md +357 -0
  75. package/END_TO_END_TEST_REPORT.md +217 -0
  76. package/ENHANCEMENT_RECOMMENDATIONS.md +368 -0
  77. package/EPIPE_FIX_SUMMARY.md +177 -0
  78. package/FEEDBACK_TEMPLATE.md +173 -0
  79. package/FINAL_100_PERCENT_CONFIRMATION.md +319 -0
  80. package/FINAL_8_AI_CONSENSUS_SUMMARY.md +355 -0
  81. package/FINAL_CONFIRMATION.md +143 -0
  82. package/FINAL_E2E_TEST_REPORT.md +248 -0
  83. package/FINAL_E2E_TEST_RESULTS.md +212 -0
  84. package/FINAL_LAUNCH_CLARIFICATION_SUMMARY.md +101 -0
  85. package/FINAL_LAUNCH_PLAN_BASED_ON_AI_CONSENSUS.md +410 -0
  86. package/FINAL_LAUNCH_SUMMARY.md +176 -0
  87. package/FINAL_PRODUCT_TEST.md +316 -0
  88. package/FINAL_PROJECT_STATUS.md +407 -0
  89. package/FINAL_STATUS_REPORT.md +244 -0
  90. package/FINAL_STRATEGIC_PLAN_9_AIS.md +576 -0
  91. package/FINAL_TEST_EXECUTION_REPORT.md +252 -0
  92. package/FINAL_VALIDATION_DOCUMENT.md +238 -0
  93. package/FINAL_VALIDATION_SUMMARY.md +230 -0
  94. package/FIX_SPECIAL_CHARS.sh +13 -0
  95. package/FRESH_SCENARIOS_TEST_RESULTS.md +358 -0
  96. package/GAP_EVALUATION_TEMPLATE.md +146 -0
  97. package/GITHUB_SETUP_GUIDE.md +193 -0
  98. package/HOSTILE_TEST_RESULTS.md +221 -0
  99. package/HOW_MEMORYLINK_HELPS_AI.md +401 -0
  100. package/IMPLEMENTATION_PLANS_DETAILED.md +516 -0
  101. package/LAUNCH_CHECKLIST.md +247 -0
  102. package/LAUNCH_DOCS_FRAMEWORK.md +378 -0
  103. package/LAUNCH_READINESS.md +148 -0
  104. package/LAUNCH_SEQUENCE.md +137 -0
  105. package/LICENSE +67 -0
  106. package/MARKET_ANALYSIS_AND_STRATEGY.md +280 -0
  107. package/MASTER_AI_VERIFICATION_DOCUMENT.md +1085 -0
  108. package/MASTER_VALIDATION_DOCUMENT.md +818 -0
  109. package/MINORITY_OPINION_ANALYSIS.md +464 -0
  110. package/NEW_RANDOM_TEST_RESULTS.md +127 -0
  111. package/NEW_SCENARIOS_TEST_RESULTS.md +272 -0
  112. package/NEXT_ACTIONS_COMPLETE.md +137 -0
  113. package/NEXT_PLAN_BASED_ON_AI_ANALYSES.md +413 -0
  114. package/NEXT_PLAN_BASED_ON_ALL_AI_RESPONSES.md +558 -0
  115. package/NEXT_STEPS.md +120 -0
  116. package/NEXT_STEPS_ACTION_PLAN.md +369 -0
  117. package/NPM_2FA_FIX.md +113 -0
  118. package/NPM_PUBLISH_TROUBLESHOOTING.md +230 -0
  119. package/PERPLEXITY_AI_VALIDATION_REQUEST.md +318 -0
  120. package/PERPLEXITY_AI_VALIDATION_RESPONSE.md +172 -0
  121. package/PERPLEXITY_BREAK_IT_VALIDATION.md +262 -0
  122. package/PERPLEXITY_DOCS_VALIDATION.md +237 -0
  123. package/PERPLEXITY_FEEDBACK_ACTION_PLAN.md +271 -0
  124. package/PERPLEXITY_FINAL_E2E_VALIDATION.md +210 -0
  125. package/PERPLEXITY_FINAL_SUMMARY.md +211 -0
  126. package/PERPLEXITY_PHASE2_VALIDATION.md +270 -0
  127. package/PERPLEXITY_PHASE2_VALIDATION_RESPONSE.md +136 -0
  128. package/PERPLEXITY_PRIORITY2_VALIDATION.md +321 -0
  129. package/PERPLEXITY_TELEMETRY_EXPLANATION.md +174 -0
  130. package/PERPLEXITY_TELEMETRY_VALIDATION.md +118 -0
  131. package/PERPLEXITY_TELEMETRY_VALIDATION_RESPONSE.md +154 -0
  132. package/PERPLEXITY_USER_GUIDE_VALIDATION.md +236 -0
  133. package/PERPLEXITY_VALIDATION_REQUEST.md +427 -0
  134. package/PERPLEXITY_VALIDATION_REQUEST_v1.5.1.md +190 -0
  135. package/PHASE_2_COMPLETE.md +149 -0
  136. package/PRE_LAUNCH_SECURITY_AUDIT.md +155 -0
  137. package/PRE_LAUNCH_TEST_CYCLE.md +326 -0
  138. package/PRE_LAUNCH_TEST_RESULTS.md +148 -0
  139. package/PROJECT_STRUCTURE_PLAN.md +104 -0
  140. package/PUBLIC_DOCS.md +90 -0
  141. package/PUBLISH_CHECKLIST.md +134 -0
  142. package/PUSH_INSTRUCTIONS.md +120 -0
  143. package/QUICK_START_TEST_CYCLE.md +76 -0
  144. package/README.md +557 -0
  145. package/README_TEST_INSTRUCTIONS.md +65 -0
  146. package/README_v1.5.1.md +137 -0
  147. package/REALISTIC_ASSESSMENT.md +186 -0
  148. package/REAL_WORLD_VALIDATION_COMPLETE.md +98 -0
  149. package/RED_TEAM_TESTING_GUIDE.md +302 -0
  150. package/RELEASE_NOTES_v1.0.0.md +125 -0
  151. package/RELEASE_NOTES_v1.5.1.md +105 -0
  152. package/REQUEST_COUNTERS.md +22 -0
  153. package/ROADMAP_v1.6.md +335 -0
  154. package/ROUND3_RANDOM_TEST_RESULTS.md +135 -0
  155. package/SECURITY_MODEL.md +577 -0
  156. package/SESSION_SUMMARY_CURRENT_STATE.md +206 -0
  157. package/SESSION_SUMMARY_REVIEW.md +203 -0
  158. package/SINGLE_RUN_ALL_SCENARIOS_TEST.sh +129 -0
  159. package/STRATEGIC_QUESTIONS_FOR_AI_VALIDATION.md +277 -0
  160. package/STRESS_TEST_CHECK_RESULTS.md +154 -0
  161. package/STRESS_TEST_EXECUTION_GUIDE.md +284 -0
  162. package/STRESS_TEST_IMPLEMENTATION_SUMMARY.md +221 -0
  163. package/TELEMETRY.md +370 -0
  164. package/TELEMETRY_COMPLETE_SUMMARY.md +231 -0
  165. package/TELEMETRY_CONTROL_POLICY.md +135 -0
  166. package/TELEMETRY_DESIGN_SUMMARY.md +210 -0
  167. package/TELEMETRY_FINAL_STATUS.md +178 -0
  168. package/TELEMETRY_NEXT_STEPS.md +258 -0
  169. package/TELEMETRY_TESTING_NOTES.md +217 -0
  170. package/TELEMETRY_WORK_COMPLETE.md +237 -0
  171. package/TEST_PLAN_v1.0.1.md +194 -0
  172. package/TEST_RESULTS_SUMMARY.md +128 -0
  173. package/TREE_SITTER_EXPLANATION.md +303 -0
  174. package/TROUBLESHOOTING.md +62 -0
  175. package/ULTIMATE_SCENARIOS_TEST_RESULTS.md +366 -0
  176. package/USER_FEEDBACK_TEMPLATE.md +104 -0
  177. package/USER_GUIDE.md +809 -0
  178. package/V1.1_DEVELOPMENT_COMPLETE.md +299 -0
  179. package/V1.1_SCENARIOS_ADDED.md +161 -0
  180. package/V1.2_CODE_STRUCTURE_IMPLEMENTATION.md +243 -0
  181. package/V1.3_COMPETITIVE_LAUNCH_COMPLETE.md +253 -0
  182. package/V1.3_COMPETITIVE_LAUNCH_IMPLEMENTATION_PLAN.md +385 -0
  183. package/V1.3_TEAM_PATTERNS_IMPLEMENTATION.md +183 -0
  184. package/V1.4_BUILD_PLAN_IMPLEMENTATION.md +698 -0
  185. package/V1.4_COMPLETE_SUMMARY_FOR_AI_REVIEW.md +516 -0
  186. package/V1.4_COMPLETE_VALIDATION_DOCUMENT.md +601 -0
  187. package/V1.4_DEVELOPMENT_PROGRESS.md +117 -0
  188. package/V1.4_FINAL_STATUS.md +147 -0
  189. package/V1.4_INTEGRATION_COMPLETE.md +207 -0
  190. package/V1.4_INTEGRATION_TEST_RESULTS.md +181 -0
  191. package/V1.4_OBSERVABILITY_AND_OVERRIDE_COMPLETE.md +180 -0
  192. package/V1.4_PHASE_3_COMPLETE.md +135 -0
  193. package/V1.4_RUNTIME_TESTING_GUIDE.md +364 -0
  194. package/V1.4_VERIFICATION_REPORT.md +199 -0
  195. package/V1.5.1_COMPLETE_SUMMARY.md +234 -0
  196. package/V1.5.1_RELEASE_NOTES.md +206 -0
  197. package/V1.5.1_RELEASE_READY.md +198 -0
  198. package/V1.5_COMPLETE_SUMMARY.md +264 -0
  199. package/V1.5_COMPLETE_VERIFICATION.md +183 -0
  200. package/V1.5_DESIGN_NOTES.md +272 -0
  201. package/V1.5_FINAL_STATUS.md +224 -0
  202. package/V1.5_IMPLEMENTATION_SUMMARY.md +113 -0
  203. package/V1.5_IMPROVEMENTS_COMPLETE.md +205 -0
  204. package/V1.5_PHASE1_COMPLETE.md +183 -0
  205. package/V1.5_PHASE1_PROGRESS.md +102 -0
  206. package/V1.5_PHASE2_COMPLETE.md +133 -0
  207. package/V1.5_PHASE2_PLAN.md +185 -0
  208. package/V1.5_PRIORITIZATION.md +313 -0
  209. package/V1.5_PRIORITY2_COMPLETE.md +150 -0
  210. package/V1.5_TESTING_COMPLETE.md +69 -0
  211. package/V1.5_TEST_RESULTS.md +178 -0
  212. package/V1.5_VALIDATION_RESULTS.md +209 -0
  213. package/V1.6_GAP_TRACKING.md +118 -0
  214. package/VALIDATION_SUMMARY_FOR_PERPLEXITY.md +83 -0
  215. package/VERIFICATION_REPORT.md +220 -0
  216. package/VERSION_UPDATE_VERIFICATION.md +76 -0
  217. package/config/tsconfig.json +21 -0
  218. package/dist/cli.d.ts +9 -0
  219. package/dist/cli.d.ts.map +1 -0
  220. package/dist/cli.js +1114 -0
  221. package/dist/cli.js.map +1 -0
  222. package/dist/commands/archive.d.ts +20 -0
  223. package/dist/commands/archive.d.ts.map +1 -0
  224. package/dist/commands/archive.js +231 -0
  225. package/dist/commands/archive.js.map +1 -0
  226. package/dist/commands/auto-context.d.ts +22 -0
  227. package/dist/commands/auto-context.d.ts.map +1 -0
  228. package/dist/commands/auto-context.js +172 -0
  229. package/dist/commands/auto-context.js.map +1 -0
  230. package/dist/commands/auto-log.d.ts +30 -0
  231. package/dist/commands/auto-log.d.ts.map +1 -0
  232. package/dist/commands/auto-log.js +500 -0
  233. package/dist/commands/auto-log.js.map +1 -0
  234. package/dist/commands/change.d.ts +13 -0
  235. package/dist/commands/change.d.ts.map +1 -0
  236. package/dist/commands/change.js +254 -0
  237. package/dist/commands/change.js.map +1 -0
  238. package/dist/commands/checkpoint.d.ts +26 -0
  239. package/dist/commands/checkpoint.d.ts.map +1 -0
  240. package/dist/commands/checkpoint.js +326 -0
  241. package/dist/commands/checkpoint.js.map +1 -0
  242. package/dist/commands/configure.d.ts +21 -0
  243. package/dist/commands/configure.d.ts.map +1 -0
  244. package/dist/commands/configure.js +283 -0
  245. package/dist/commands/configure.js.map +1 -0
  246. package/dist/commands/consolidate.d.ts +19 -0
  247. package/dist/commands/consolidate.d.ts.map +1 -0
  248. package/dist/commands/consolidate.js +236 -0
  249. package/dist/commands/consolidate.js.map +1 -0
  250. package/dist/commands/context.d.ts +10 -0
  251. package/dist/commands/context.d.ts.map +1 -0
  252. package/dist/commands/context.js +571 -0
  253. package/dist/commands/context.js.map +1 -0
  254. package/dist/commands/detect.d.ts +13 -0
  255. package/dist/commands/detect.d.ts.map +1 -0
  256. package/dist/commands/detect.js +187 -0
  257. package/dist/commands/detect.js.map +1 -0
  258. package/dist/commands/doctor.d.ts +19 -0
  259. package/dist/commands/doctor.d.ts.map +1 -0
  260. package/dist/commands/doctor.js +1272 -0
  261. package/dist/commands/doctor.js.map +1 -0
  262. package/dist/commands/export.d.ts +3 -0
  263. package/dist/commands/export.d.ts.map +1 -0
  264. package/dist/commands/export.js +95 -0
  265. package/dist/commands/export.js.map +1 -0
  266. package/dist/commands/graph.d.ts +25 -0
  267. package/dist/commands/graph.d.ts.map +1 -0
  268. package/dist/commands/graph.js +208 -0
  269. package/dist/commands/graph.js.map +1 -0
  270. package/dist/commands/hooks.d.ts +9 -0
  271. package/dist/commands/hooks.d.ts.map +1 -0
  272. package/dist/commands/hooks.js +240 -0
  273. package/dist/commands/hooks.js.map +1 -0
  274. package/dist/commands/impact.d.ts +18 -0
  275. package/dist/commands/impact.d.ts.map +1 -0
  276. package/dist/commands/impact.js +163 -0
  277. package/dist/commands/impact.js.map +1 -0
  278. package/dist/commands/index-vector.d.ts +13 -0
  279. package/dist/commands/index-vector.d.ts.map +1 -0
  280. package/dist/commands/index-vector.js +103 -0
  281. package/dist/commands/index-vector.js.map +1 -0
  282. package/dist/commands/index.d.ts +37 -0
  283. package/dist/commands/index.d.ts.map +1 -0
  284. package/dist/commands/index.js +105 -0
  285. package/dist/commands/index.js.map +1 -0
  286. package/dist/commands/init.d.ts +8 -0
  287. package/dist/commands/init.d.ts.map +1 -0
  288. package/dist/commands/init.js +200 -0
  289. package/dist/commands/init.js.map +1 -0
  290. package/dist/commands/inject.d.ts +22 -0
  291. package/dist/commands/inject.d.ts.map +1 -0
  292. package/dist/commands/inject.js +394 -0
  293. package/dist/commands/inject.js.map +1 -0
  294. package/dist/commands/learn.d.ts +13 -0
  295. package/dist/commands/learn.d.ts.map +1 -0
  296. package/dist/commands/learn.js +282 -0
  297. package/dist/commands/learn.js.map +1 -0
  298. package/dist/commands/lock.d.ts +35 -0
  299. package/dist/commands/lock.d.ts.map +1 -0
  300. package/dist/commands/lock.js +308 -0
  301. package/dist/commands/lock.js.map +1 -0
  302. package/dist/commands/memory.d.ts +15 -0
  303. package/dist/commands/memory.d.ts.map +1 -0
  304. package/dist/commands/memory.js +366 -0
  305. package/dist/commands/memory.js.map +1 -0
  306. package/dist/commands/migrate.d.ts +22 -0
  307. package/dist/commands/migrate.d.ts.map +1 -0
  308. package/dist/commands/migrate.js +458 -0
  309. package/dist/commands/migrate.js.map +1 -0
  310. package/dist/commands/patterns.d.ts +18 -0
  311. package/dist/commands/patterns.d.ts.map +1 -0
  312. package/dist/commands/patterns.js +120 -0
  313. package/dist/commands/patterns.js.map +1 -0
  314. package/dist/commands/protect.d.ts +12 -0
  315. package/dist/commands/protect.d.ts.map +1 -0
  316. package/dist/commands/protect.js +181 -0
  317. package/dist/commands/protect.js.map +1 -0
  318. package/dist/commands/quickstart.d.ts +11 -0
  319. package/dist/commands/quickstart.d.ts.map +1 -0
  320. package/dist/commands/quickstart.js +256 -0
  321. package/dist/commands/quickstart.js.map +1 -0
  322. package/dist/commands/repair.d.ts +13 -0
  323. package/dist/commands/repair.d.ts.map +1 -0
  324. package/dist/commands/repair.js +157 -0
  325. package/dist/commands/repair.js.map +1 -0
  326. package/dist/commands/resolve.d.ts +19 -0
  327. package/dist/commands/resolve.d.ts.map +1 -0
  328. package/dist/commands/resolve.js +355 -0
  329. package/dist/commands/resolve.js.map +1 -0
  330. package/dist/commands/roadmap.d.ts +5 -0
  331. package/dist/commands/roadmap.d.ts.map +1 -0
  332. package/dist/commands/roadmap.js +23 -0
  333. package/dist/commands/roadmap.js.map +1 -0
  334. package/dist/commands/scopes.d.ts +10 -0
  335. package/dist/commands/scopes.d.ts.map +1 -0
  336. package/dist/commands/scopes.js +80 -0
  337. package/dist/commands/scopes.js.map +1 -0
  338. package/dist/commands/search.d.ts +9 -0
  339. package/dist/commands/search.d.ts.map +1 -0
  340. package/dist/commands/search.js +313 -0
  341. package/dist/commands/search.js.map +1 -0
  342. package/dist/commands/setup.d.ts +13 -0
  343. package/dist/commands/setup.d.ts.map +1 -0
  344. package/dist/commands/setup.js +405 -0
  345. package/dist/commands/setup.js.map +1 -0
  346. package/dist/commands/snippet.d.ts +23 -0
  347. package/dist/commands/snippet.d.ts.map +1 -0
  348. package/dist/commands/snippet.js +235 -0
  349. package/dist/commands/snippet.js.map +1 -0
  350. package/dist/commands/stats.d.ts +15 -0
  351. package/dist/commands/stats.d.ts.map +1 -0
  352. package/dist/commands/stats.js +502 -0
  353. package/dist/commands/stats.js.map +1 -0
  354. package/dist/commands/status.d.ts +8 -0
  355. package/dist/commands/status.d.ts.map +1 -0
  356. package/dist/commands/status.js +134 -0
  357. package/dist/commands/status.js.map +1 -0
  358. package/dist/commands/suggest-tags.d.ts +9 -0
  359. package/dist/commands/suggest-tags.d.ts.map +1 -0
  360. package/dist/commands/suggest-tags.js +95 -0
  361. package/dist/commands/suggest-tags.js.map +1 -0
  362. package/dist/commands/sync-rules.d.ts +14 -0
  363. package/dist/commands/sync-rules.d.ts.map +1 -0
  364. package/dist/commands/sync-rules.js +211 -0
  365. package/dist/commands/sync-rules.js.map +1 -0
  366. package/dist/commands/sync.d.ts +24 -0
  367. package/dist/commands/sync.d.ts.map +1 -0
  368. package/dist/commands/sync.js +330 -0
  369. package/dist/commands/sync.js.map +1 -0
  370. package/dist/commands/telemetry-test.d.ts +24 -0
  371. package/dist/commands/telemetry-test.d.ts.map +1 -0
  372. package/dist/commands/telemetry-test.js +84 -0
  373. package/dist/commands/telemetry-test.js.map +1 -0
  374. package/dist/commands/template.d.ts +16 -0
  375. package/dist/commands/template.d.ts.map +1 -0
  376. package/dist/commands/template.js +122 -0
  377. package/dist/commands/template.js.map +1 -0
  378. package/dist/commands/validate.d.ts +11 -0
  379. package/dist/commands/validate.d.ts.map +1 -0
  380. package/dist/commands/validate.js +144 -0
  381. package/dist/commands/validate.js.map +1 -0
  382. package/dist/commands/watch-preferences.d.ts +17 -0
  383. package/dist/commands/watch-preferences.d.ts.map +1 -0
  384. package/dist/commands/watch-preferences.js +172 -0
  385. package/dist/commands/watch-preferences.js.map +1 -0
  386. package/dist/commands/watch.d.ts +11 -0
  387. package/dist/commands/watch.d.ts.map +1 -0
  388. package/dist/commands/watch.js +223 -0
  389. package/dist/commands/watch.js.map +1 -0
  390. package/dist/config/thresholds.d.ts +8 -0
  391. package/dist/config/thresholds.d.ts.map +1 -0
  392. package/dist/config/thresholds.js +10 -0
  393. package/dist/config/thresholds.js.map +1 -0
  394. package/dist/index.d.ts +9 -0
  395. package/dist/index.d.ts.map +1 -0
  396. package/dist/index.js +31 -0
  397. package/dist/index.js.map +1 -0
  398. package/dist/memorylink.d.ts +91 -0
  399. package/dist/memorylink.d.ts.map +1 -0
  400. package/dist/memorylink.js +208 -0
  401. package/dist/memorylink.js.map +1 -0
  402. package/dist/search/local-embeddings.d.ts +21 -0
  403. package/dist/search/local-embeddings.d.ts.map +1 -0
  404. package/dist/search/local-embeddings.js +87 -0
  405. package/dist/search/local-embeddings.js.map +1 -0
  406. package/dist/search/vector-search.d.ts +58 -0
  407. package/dist/search/vector-search.d.ts.map +1 -0
  408. package/dist/search/vector-search.js +535 -0
  409. package/dist/search/vector-search.js.map +1 -0
  410. package/dist/server/mcp-server.d.ts +18 -0
  411. package/dist/server/mcp-server.d.ts.map +1 -0
  412. package/dist/server/mcp-server.js +293 -0
  413. package/dist/server/mcp-server.js.map +1 -0
  414. package/dist/telemetry.d.ts +92 -0
  415. package/dist/telemetry.d.ts.map +1 -0
  416. package/dist/telemetry.js +339 -0
  417. package/dist/telemetry.js.map +1 -0
  418. package/dist/telemetry.test.d.ts +13 -0
  419. package/dist/telemetry.test.d.ts.map +1 -0
  420. package/dist/telemetry.test.js +324 -0
  421. package/dist/telemetry.test.js.map +1 -0
  422. package/dist/test-runner/TestRunner.d.ts +68 -0
  423. package/dist/test-runner/TestRunner.d.ts.map +1 -0
  424. package/dist/test-runner/TestRunner.js +384 -0
  425. package/dist/test-runner/TestRunner.js.map +1 -0
  426. package/dist/test-runner/performance-test.d.ts +36 -0
  427. package/dist/test-runner/performance-test.d.ts.map +1 -0
  428. package/dist/test-runner/performance-test.js +163 -0
  429. package/dist/test-runner/performance-test.js.map +1 -0
  430. package/dist/test-runner/run-tests.d.ts +7 -0
  431. package/dist/test-runner/run-tests.d.ts.map +1 -0
  432. package/dist/test-runner/run-tests.js +167 -0
  433. package/dist/test-runner/run-tests.js.map +1 -0
  434. package/dist/types.d.ts +400 -0
  435. package/dist/types.d.ts.map +1 -0
  436. package/dist/types.js +81 -0
  437. package/dist/types.js.map +1 -0
  438. package/dist/utils/batch-commits.d.ts +48 -0
  439. package/dist/utils/batch-commits.d.ts.map +1 -0
  440. package/dist/utils/batch-commits.js +164 -0
  441. package/dist/utils/batch-commits.js.map +1 -0
  442. package/dist/utils/code-structure.d.ts +62 -0
  443. package/dist/utils/code-structure.d.ts.map +1 -0
  444. package/dist/utils/code-structure.js +582 -0
  445. package/dist/utils/code-structure.js.map +1 -0
  446. package/dist/utils/commit-patterns.d.ts +24 -0
  447. package/dist/utils/commit-patterns.d.ts.map +1 -0
  448. package/dist/utils/commit-patterns.js +78 -0
  449. package/dist/utils/commit-patterns.js.map +1 -0
  450. package/dist/utils/observability.d.ts +47 -0
  451. package/dist/utils/observability.d.ts.map +1 -0
  452. package/dist/utils/observability.js +137 -0
  453. package/dist/utils/observability.js.map +1 -0
  454. package/dist/utils/quality.d.ts +32 -0
  455. package/dist/utils/quality.d.ts.map +1 -0
  456. package/dist/utils/quality.js +207 -0
  457. package/dist/utils/quality.js.map +1 -0
  458. package/dist/utils/semantic-search.d.ts +29 -0
  459. package/dist/utils/semantic-search.d.ts.map +1 -0
  460. package/dist/utils/semantic-search.js +167 -0
  461. package/dist/utils/semantic-search.js.map +1 -0
  462. package/dist/utils/streaming.d.ts +24 -0
  463. package/dist/utils/streaming.d.ts.map +1 -0
  464. package/dist/utils/streaming.js +121 -0
  465. package/dist/utils/streaming.js.map +1 -0
  466. package/dist/utils/tag-suggestions.d.ts +18 -0
  467. package/dist/utils/tag-suggestions.d.ts.map +1 -0
  468. package/dist/utils/tag-suggestions.js +103 -0
  469. package/dist/utils/tag-suggestions.js.map +1 -0
  470. package/dist/utils/team-patterns.d.ts +48 -0
  471. package/dist/utils/team-patterns.d.ts.map +1 -0
  472. package/dist/utils/team-patterns.js +413 -0
  473. package/dist/utils/team-patterns.js.map +1 -0
  474. package/dist/utils/templates.d.ts +36 -0
  475. package/dist/utils/templates.d.ts.map +1 -0
  476. package/dist/utils/templates.js +200 -0
  477. package/dist/utils/templates.js.map +1 -0
  478. package/dist/utils/tree-sitter-parser.d.ts +20 -0
  479. package/dist/utils/tree-sitter-parser.d.ts.map +1 -0
  480. package/dist/utils/tree-sitter-parser.js +259 -0
  481. package/dist/utils/tree-sitter-parser.js.map +1 -0
  482. package/dist/utils/v1.6-patterns.d.ts +117 -0
  483. package/dist/utils/v1.6-patterns.d.ts.map +1 -0
  484. package/dist/utils/v1.6-patterns.js +201 -0
  485. package/dist/utils/v1.6-patterns.js.map +1 -0
  486. package/dist/utils.d.ts +176 -0
  487. package/dist/utils.d.ts.map +1 -0
  488. package/dist/utils.js +822 -0
  489. package/dist/utils.js.map +1 -0
  490. package/docs/1000_SCENARIOS_TEST_RESULTS.md +138 -0
  491. package/docs/1000_UNIQUE_SCENARIOS_TEST.md +171 -0
  492. package/docs/100_PERCENT_PASS_RATE_VERIFICATION.md +111 -0
  493. package/docs/5000_SCENARIOS_ISSUE_ANALYSIS.md +96 -0
  494. package/docs/5000_SCENARIOS_TEST_PLAN.md +281 -0
  495. package/docs/AGENT_CONTRACT.md +240 -0
  496. package/docs/AI_RESPONSE_ANALYZER.md +157 -0
  497. package/docs/AI_RESPONSE_TRACKER.md +923 -0
  498. package/docs/AI_TESTING_PROMPT.md +307 -0
  499. package/docs/AI_VALIDATION_PROMPTS.md +366 -0
  500. package/docs/ALL_AI_ANALYSES_CONSOLIDATED.md +354 -0
  501. package/docs/ALL_AI_CONSOLIDATION_FINAL.md +372 -0
  502. package/docs/ALL_AI_TEST_CONSOLIDATION.md +290 -0
  503. package/docs/ALL_AI_VALIDATION_SYNTHESIS.md +241 -0
  504. package/docs/BEST_TESTING_SOLUTION.md +227 -0
  505. package/docs/BLACKBOX_AI_ANALYSIS.md +288 -0
  506. package/docs/BLACKBOX_AI_CLARIFICATION.md +55 -0
  507. package/docs/BLACKBOX_AI_STRATEGIC_VALIDATION.md +283 -0
  508. package/docs/BLACKBOX_AI_VALIDATION_RESPONSE.md +251 -0
  509. package/docs/BLACKBOX_AI_VALIDATION_RESPONSE_v2.md +402 -0
  510. package/docs/BLACKBOX_LAUNCH_VALIDATION.md +25 -0
  511. package/docs/BLACKBOX_SUPERMEMORY_VALIDATION_AND_PLAN.md +50 -0
  512. package/docs/CAPACITY_AND_ALTERNATIVES_ANALYSIS.md +289 -0
  513. package/docs/CHATGPT_AI_CLARIFICATION.md +65 -0
  514. package/docs/CHATGPT_FINAL_VALIDATION.md +348 -0
  515. package/docs/CHATGPT_IMPLEMENTATION_GUIDE.md +325 -0
  516. package/docs/CHATGPT_LAUNCH_VALIDATION.md +47 -0
  517. package/docs/CHATGPT_MEMORY_QUALITY_AND_VSCODE_CHECK.md +43 -0
  518. package/docs/CHATGPT_SCOPE_REALITY_CHECK.md +35 -0
  519. package/docs/CHATGPT_STRATEGIC_VALIDATION.md +329 -0
  520. package/docs/CHATGPT_VALIDATION_RESPONSE.md +332 -0
  521. package/docs/CHATGPT_VALIDATION_RESPONSE_v2.md +294 -0
  522. package/docs/CHATGPT_VALIDATION_RESULTS.md +143 -0
  523. package/docs/CLAUDE_AI_ANALYSIS.md +692 -0
  524. package/docs/CLAUDE_AI_CLARIFICATION.md +67 -0
  525. package/docs/CLAUDE_AI_STRATEGIC_VALIDATION.md +578 -0
  526. package/docs/CLAUDE_AI_VALIDATION_RESPONSE.md +374 -0
  527. package/docs/CLAUDE_AI_VALIDATION_RESPONSE_v2.md +463 -0
  528. package/docs/CLAUDE_FINAL_VALIDATION.md +679 -0
  529. package/docs/CLAUDE_LAUNCH_VALIDATION.md +27 -0
  530. package/docs/CLAUDE_SUPERMEMORY_LAUNCH_PRIORITIES.md +44 -0
  531. package/docs/CLAUDE_UNIVERSAL_VISION.md +18 -0
  532. package/docs/COMPLETE_AI_VALIDATION_SYNTHESIS.md +229 -0
  533. package/docs/COMPLETE_MEMORY_ANALYSIS_SUMMARY.md +323 -0
  534. package/docs/COMPLETE_STRATEGIC_LAUNCH_PLAN.md +241 -0
  535. package/docs/COPILOT_LANGCHAIN_MEMORY_COMPARISON_AND_PLAN.md +43 -0
  536. package/docs/CRITICAL_FIXES_ACTION_PLAN.md +251 -0
  537. package/docs/CRITICAL_MEMORY_USAGE_PROMPTS.md +290 -0
  538. package/docs/CURSOR_AI_MEMORY_ANALYSIS.md +479 -0
  539. package/docs/CURSOR_AI_MEMORY_WORKFLOW_ANALYSIS.md +267 -0
  540. package/docs/CURSOR_AI_TEST_RESULTS.md +298 -0
  541. package/docs/DEEPSEEK_AI_CLARIFICATION.md +52 -0
  542. package/docs/DEEPSEEK_AI_IMPLEMENTATION_GUIDE.md +398 -0
  543. package/docs/DEEPSEEK_AI_STRATEGIC_VALIDATION.md +348 -0
  544. package/docs/DEEPSEEK_AI_VALIDATION_RESPONSE.md +276 -0
  545. package/docs/DEEPSEEK_AI_VALIDATION_RESPONSE_v2.md +325 -0
  546. package/docs/DEEPSEEK_FINAL_VALIDATION.md +337 -0
  547. package/docs/DEEPSEEK_LAUNCH_VALIDATION.md +55 -0
  548. package/docs/DEEPSEEK_SCOPE_REALITY_CHECK.md +30 -0
  549. package/docs/DEEPSEEK_SUPERMEMORY_ADOPTION_AND_VSCODE_PIVOT.md +47 -0
  550. package/docs/DEEPSEEK_VALIDATION_RESULTS.md +165 -0
  551. package/docs/DEVELOPMENT_TESTING_PROTOCOL.md +378 -0
  552. package/docs/E2E_TEST_RESULTS.md +102 -0
  553. package/docs/END_TO_END_MEMORY_ISSUE_ANALYSIS.md +442 -0
  554. package/docs/FEATURE_1_GIT_SYNC_PLAN.md +228 -0
  555. package/docs/FEATURE_2_AUTO_LOGGING_PLAN.md +239 -0
  556. package/docs/FEATURE_3_CODE_SNIPPET_PLAN.md +249 -0
  557. package/docs/FEATURE_4_TAG_NORMALIZATION_PLAN.md +211 -0
  558. package/docs/FEATURE_5_WINDOWS_PATH_HANDLING_PLAN.md +199 -0
  559. package/docs/FEATURE_6_CONFLICT_DETECTION_PLAN.md +126 -0
  560. package/docs/FEATURE_IMPLEMENTATION_REPORT.md +203 -0
  561. package/docs/FINAL_COMPLETE_LAUNCH_DECISION.md +255 -0
  562. package/docs/FINAL_LAUNCH_DECISION.md +235 -0
  563. package/docs/FINAL_LAUNCH_DECISION_ALL_AIS.md +226 -0
  564. package/docs/FINAL_SCENARIO_VERIFICATION.md +363 -0
  565. package/docs/FIX_100_PERCENT_ANALYSIS.md +133 -0
  566. package/docs/FRAMEWORK_STRUCTURE.md +94 -0
  567. package/docs/GEMINI_AI_ANALYSIS.md +156 -0
  568. package/docs/GEMINI_AI_CLARIFICATION.md +47 -0
  569. package/docs/GEMINI_AI_STRATEGIC_VALIDATION.md +235 -0
  570. package/docs/GEMINI_AI_VALIDATION_RESPONSE.md +238 -0
  571. package/docs/GEMINI_AI_VALIDATION_RESPONSE_v2.md +168 -0
  572. package/docs/GEMINI_FINAL_VALIDATION.md +204 -0
  573. package/docs/GEMINI_LAUNCH_VALIDATION.md +30 -0
  574. package/docs/GEMINI_SCOPE_AND_UNIVERSALITY_DEBATE.md +25 -0
  575. package/docs/GEMINI_SUPERMEMORY_TREE_SITTER_MANDATE.md +43 -0
  576. package/docs/GEMINI_VALIDATION_RESULTS.md +183 -0
  577. package/docs/GROK_AI_ANALYSIS.md +278 -0
  578. package/docs/GROK_AI_CLARIFICATION.md +52 -0
  579. package/docs/GROK_AI_STRATEGIC_VALIDATION.md +306 -0
  580. package/docs/GROK_AI_VALIDATION_RESPONSE.md +252 -0
  581. package/docs/GROK_AI_VALIDATION_RESPONSE_v2.md +264 -0
  582. package/docs/GROK_FINAL_VALIDATION.md +251 -0
  583. package/docs/GROK_LAUNCH_VALIDATION.md +24 -0
  584. package/docs/GROK_SCOPE_REALITY_CHECK.md +28 -0
  585. package/docs/GROK_SUPERMEMORY_LAUNCH_ANALYSIS.md +44 -0
  586. package/docs/GROK_VALIDATION_RESULTS.md +180 -0
  587. package/docs/IMPLEMENTATION_PLAN_16_CRITICAL_FIXES.md +641 -0
  588. package/docs/LANGCHAIN_AND_LANGGRAPH_INTEGRATION_PLAN.md +51 -0
  589. package/docs/LAUNCH_DECISION_FINAL.md +243 -0
  590. package/docs/MANUS_AI_ANALYSIS.md +171 -0
  591. package/docs/MANUS_AI_CLARIFICATION.md +43 -0
  592. package/docs/MANUS_AI_VALIDATION_RESPONSE.md +335 -0
  593. package/docs/MANUS_AI_VALIDATION_RESPONSE_v2.md +226 -0
  594. package/docs/MANUS_FINAL_VALIDATION.md +257 -0
  595. package/docs/MANUS_VALIDATION_RESULTS.md +237 -0
  596. package/docs/MCP_SERVER_SETUP.md +167 -0
  597. package/docs/MEMORYLINK_7AI_FINAL_CONFIRMATION.md +210 -0
  598. package/docs/MEMORYLINK_CURSOR_AI_DEVELOPMENT_GUIDE.md +1092 -0
  599. package/docs/MEMORYLINK_DEVELOPMENT_PLAN_CURSOR_AI.md +629 -0
  600. package/docs/MEMORYLINK_FINAL_7AI_CLARIFICATION.md +184 -0
  601. package/docs/MEMORYLINK_MASTER_DOCUMENT_v4.md +1338 -0
  602. package/docs/MEMORYLINK_NAMING_ANALYSIS.md +427 -0
  603. package/docs/MEMORYLINK_REAL_WORLD_SCENARIOS.md +3517 -0
  604. package/docs/MEMORYLINK_STORAGE_COMPARISON.md +498 -0
  605. package/docs/MEMORYLINK_V1.0_FINAL_IMPLEMENTATION_PLAN.md +285 -0
  606. package/docs/MEMORYLINK_VALIDATION_COMPLETE_ANALYSIS.md +207 -0
  607. package/docs/MEMORYLINK_VS_MEMORY_APPS_ANALYSIS.md +667 -0
  608. package/docs/MEMORYLINK_v1.0_BUILD_DOCUMENT_FINAL.md +1928 -0
  609. package/docs/MEMORY_USAGE_FIX_IMPLEMENTATION.md +314 -0
  610. package/docs/MISTRAL_AI_ANALYSIS.md +189 -0
  611. package/docs/MISTRAL_AI_CLARIFICATION.md +57 -0
  612. package/docs/MISTRAL_AI_STRATEGIC_VALIDATION.md +334 -0
  613. package/docs/MISTRAL_AI_TESTING_REQUEST.md +261 -0
  614. package/docs/MISTRAL_AI_VALIDATION_RESPONSE.md +446 -0
  615. package/docs/MISTRAL_AI_VALIDATION_RESPONSE_v2.md +227 -0
  616. package/docs/MISTRAL_FINAL_VALIDATION.md +398 -0
  617. package/docs/MISTRAL_LAUNCH_VALIDATION.md +32 -0
  618. package/docs/MISTRAL_SCOPE_REALITY_CHECK.md +32 -0
  619. package/docs/MISTRAL_SUPERMEMORY_LAUNCH_ANALYSIS.md +43 -0
  620. package/docs/MISTRAL_VALIDATION_RESULTS.md +371 -0
  621. package/docs/NEXT_PLAN.md +300 -0
  622. package/docs/PERPLEXITY_AI_ANALYSIS.md +285 -0
  623. package/docs/PERPLEXITY_AI_CLARIFICATION.md +57 -0
  624. package/docs/PERPLEXITY_AI_STRATEGIC_VALIDATION.md +288 -0
  625. package/docs/PERPLEXITY_AI_VALIDATION_RESPONSE.md +350 -0
  626. package/docs/PERPLEXITY_AI_VALIDATION_RESPONSE_v2.md +260 -0
  627. package/docs/PERPLEXITY_FINAL_VALIDATION.md +320 -0
  628. package/docs/PERPLEXITY_LAUNCH_VALIDATION.md +42 -0
  629. package/docs/PERPLEXITY_MEMORY_QUALITY_AND_VSCODE_PLAN.md +56 -0
  630. package/docs/PERPLEXITY_SCOPE_REALITY_CHECK.md +31 -0
  631. package/docs/PERPLEXITY_VALIDATION_RESULTS.md +154 -0
  632. package/docs/PRE_LAUNCH_GAP_ANALYSIS.md +663 -0
  633. package/docs/PROJECT_STRUCTURE_PLAN.md +104 -0
  634. package/docs/QWEN_AI_ANALYSIS.md +176 -0
  635. package/docs/QWEN_AI_CLARIFICATION.md +60 -0
  636. package/docs/QWEN_AI_STRATEGIC_VALIDATION.md +241 -0
  637. package/docs/QWEN_AI_VALIDATION_RESPONSE.md +197 -0
  638. package/docs/QWEN_AI_VALIDATION_RESPONSE_v2.md +186 -0
  639. package/docs/QWEN_FINAL_VALIDATION.md +284 -0
  640. package/docs/QWEN_LAUNCH_VALIDATION.md +26 -0
  641. package/docs/QWEN_SCENARIOS_TEST_RESULTS.md +244 -0
  642. package/docs/QWEN_SCOPE_REALITY_CHECK.md +26 -0
  643. package/docs/QWEN_SUPERMEMORY_LAUNCH_AND_ENFORCEMENT_PLAN.md +56 -0
  644. package/docs/QWEN_VALIDATION_RESULTS.md +185 -0
  645. package/docs/README.md +479 -0
  646. package/docs/REAL_PRODUCT_LAUNCH_DECISION.md +185 -0
  647. package/docs/RECIPES.md +424 -0
  648. package/docs/RELEASE_NOTES_v1.0.0.md +193 -0
  649. package/docs/SCENARIO_INVENTORY_AND_VERIFICATION.md +284 -0
  650. package/docs/SINGLE_RUN_1018_SCENARIOS_RESULTS.md +142 -0
  651. package/docs/TESTING.md +256 -0
  652. package/docs/TESTING_STRATEGY.md +194 -0
  653. package/docs/TROUBLESHOOTING.md +188 -0
  654. package/docs/ULTIMATE_LAUNCH_DECISION.md +246 -0
  655. package/docs/WHAT_WE_BUILT.md +504 -0
  656. package/docs/v1.0_LAUNCH_CHECKLIST.md +104 -0
  657. package/examples/README.md +199 -0
  658. package/examples/chatgpt-context.js +161 -0
  659. package/examples/ci-integration.js +288 -0
  660. package/examples/sync-from-cursor.js +196 -0
  661. package/extensions/vscode/README.md +25 -0
  662. package/extensions/vscode/out/buddy-check.js +208 -0
  663. package/extensions/vscode/out/buddy-check.js.map +1 -0
  664. package/extensions/vscode/out/extension.js +413 -0
  665. package/extensions/vscode/out/extension.js.map +1 -0
  666. package/extensions/vscode/out/sidebar.js +409 -0
  667. package/extensions/vscode/out/sidebar.js.map +1 -0
  668. package/extensions/vscode/package.json +92 -0
  669. package/extensions/vscode/src/buddy-check.ts +220 -0
  670. package/extensions/vscode/src/extension.ts +425 -0
  671. package/extensions/vscode/src/shims-vscode.d.ts +2 -0
  672. package/extensions/vscode/src/sidebar.ts +431 -0
  673. package/extensions/vscode/tsconfig.json +14 -0
  674. package/k6-load-test.js +86 -0
  675. package/package.json +68 -0
  676. package/run-professional-tests.sh +72 -0
  677. package/scripts/monitor-continuous-test.sh +17 -0
  678. package/scripts/reorganize-project.sh +164 -0
  679. package/scripts/run-tests-parallel.sh +111 -0
  680. package/scripts/run-tests.sh +30 -0
  681. package/scripts/setup-framework.sh +139 -0
  682. package/scripts/setup-testing.sh +96 -0
  683. package/scripts/stress-test/README.md +86 -0
  684. package/scripts/stress-test/create-all-scenarios.sh +17 -0
  685. package/scripts/stress-test/create-remaining-scenarios.sh +3 -0
  686. package/scripts/stress-test/dev-test.sh +21 -0
  687. package/scripts/stress-test/monitor-continuous.sh +149 -0
  688. package/scripts/stress-test/overnight-test.sh +30 -0
  689. package/scripts/stress-test/quick-test.sh +21 -0
  690. package/scripts/stress-test/run-all-tests.sh +157 -0
  691. package/scripts/stress-test/run-continuous.sh +300 -0
  692. package/scripts/stress-test/run-stress-test.sh +153 -0
  693. package/scripts/stress-test/set1/1_1_mass_refactoring.sh +117 -0
  694. package/scripts/stress-test/set1/1_1_mass_refactoring_simple.sh +117 -0
  695. package/scripts/stress-test/set1/1_2_function_rename.sh +95 -0
  696. package/scripts/stress-test/set1/1_3_feature_flags.sh +93 -0
  697. package/scripts/stress-test/set1/1_4_feature_removal.sh +57 -0
  698. package/scripts/stress-test/set1/1_5_schema_changes.sh +42 -0
  699. package/scripts/stress-test/set1/1_6_dependency_update.sh +47 -0
  700. package/scripts/stress-test/set1/1_7_config_modification.sh +53 -0
  701. package/scripts/stress-test/set2/2_1_payment_logging.sh +49 -0
  702. package/scripts/stress-test/set2/2_2_test_data_generation.sh +43 -0
  703. package/scripts/stress-test/set2/2_3_documentation_leak.sh +45 -0
  704. package/scripts/stress-test/set2/2_4_api_key_rotation.sh +45 -0
  705. package/scripts/stress-test/set2/2_5_hardcoded_secrets.sh +45 -0
  706. package/scripts/stress-test/set2/2_6_debug_output.sh +49 -0
  707. package/scripts/stress-test/set3/3_1_billing_modification.sh +47 -0
  708. package/scripts/stress-test/set3/3_2_migration_deletion.sh +43 -0
  709. package/scripts/stress-test/set3/3_3_auth_middleware.sh +52 -0
  710. package/scripts/stress-test/set3/3_4_permission_bypass.sh +48 -0
  711. package/scripts/stress-test/set3/3_5_config_modification.sh +43 -0
  712. package/scripts/stress-test/set3/3_6_core_library.sh +51 -0
  713. package/scripts/stress-test/set3/3_7_test_infrastructure.sh +49 -0
  714. package/scripts/stress-test/set4/4_1_concurrent_features.sh +49 -0
  715. package/scripts/stress-test/set4/4_2_lock_acquisition.sh +32 -0
  716. package/scripts/stress-test/set4/4_3_migration_hotfix.sh +43 -0
  717. package/scripts/stress-test/set4/4_4_overlapping_scopes.sh +50 -0
  718. package/scripts/stress-test/set4/4_5_lock_timeout.sh +34 -0
  719. package/scripts/stress-test/set4/4_6_concurrent_stats.sh +33 -0
  720. package/scripts/stress-test/set5/5_1_wrong_decision.sh +41 -0
  721. package/scripts/stress-test/set5/5_2_outdated_docs.sh +40 -0
  722. package/scripts/stress-test/set5/5_3_conflicting_memories.sh +34 -0
  723. package/scripts/stress-test/set5/5_4_deleted_file_references.sh +38 -0
  724. package/scripts/stress-test/set5/5_5_old_pattern.sh +41 -0
  725. package/scripts/stress-test/set5/5_6_wrong_architecture.sh +42 -0
  726. package/scripts/stress-test/set5/5_7_high_trust_stale.sh +46 -0
  727. package/scripts/stress-test/set5/5_8_observability_stale.sh +36 -0
  728. package/scripts/stress-test/setup-test-repo-simple.sh +144 -0
  729. package/scripts/stress-test/setup-test-repo.sh +154 -0
  730. package/scripts/stress-test/start-continuous.sh +48 -0
  731. package/scripts/stress-test/stop-continuous.sh +42 -0
  732. package/scripts/stress-test/template-scenario.sh +115 -0
  733. package/scripts/test-advanced-scenarios.sh +411 -0
  734. package/scripts/test-continuous-30min.sh +307 -0
  735. package/scripts/test-continuous-enhanced.sh +250 -0
  736. package/scripts/test-e2e-comprehensive.sh +114 -0
  737. package/scripts/test-e2e-random.sh +359 -0
  738. package/scripts/test-fresh-scenarios.sh +412 -0
  739. package/scripts/test-new-scenarios.sh +374 -0
  740. package/scripts/test-quick-random.sh +97 -0
  741. package/scripts/test-runtime.sh +129 -0
  742. package/scripts/test-telemetry-local.sh +193 -0
  743. package/scripts/test-ultimate-scenarios.sh +428 -0
  744. package/scripts/test-v1.5-complete.sh +225 -0
  745. package/scripts/test-v1.5-phase1.sh +222 -0
  746. package/src/cli.ts +1259 -0
  747. package/src/commands/archive.ts +252 -0
  748. package/src/commands/auto-context.ts +159 -0
  749. package/src/commands/auto-log.ts +531 -0
  750. package/src/commands/change.ts +298 -0
  751. package/src/commands/checkpoint.ts +390 -0
  752. package/src/commands/configure.ts +297 -0
  753. package/src/commands/consolidate.ts +263 -0
  754. package/src/commands/context.ts +618 -0
  755. package/src/commands/detect.ts +181 -0
  756. package/src/commands/doctor.ts +1468 -0
  757. package/src/commands/export.ts +77 -0
  758. package/src/commands/graph.ts +214 -0
  759. package/src/commands/hooks.ts +245 -0
  760. package/src/commands/impact.ts +163 -0
  761. package/src/commands/index-vector.ts +126 -0
  762. package/src/commands/index.ts +57 -0
  763. package/src/commands/init.ts +194 -0
  764. package/src/commands/inject.ts +440 -0
  765. package/src/commands/learn.ts +328 -0
  766. package/src/commands/lock.ts +345 -0
  767. package/src/commands/memory.ts +415 -0
  768. package/src/commands/migrate.ts +540 -0
  769. package/src/commands/patterns.ts +158 -0
  770. package/src/commands/protect.ts +199 -0
  771. package/src/commands/quickstart.ts +259 -0
  772. package/src/commands/resolve.ts +373 -0
  773. package/src/commands/roadmap.ts +25 -0
  774. package/src/commands/scopes.ts +113 -0
  775. package/src/commands/search.ts +365 -0
  776. package/src/commands/setup.ts +430 -0
  777. package/src/commands/snippet.ts +271 -0
  778. package/src/commands/stats.ts +591 -0
  779. package/src/commands/status.ts +127 -0
  780. package/src/commands/suggest-tags.ts +122 -0
  781. package/src/commands/sync-rules.ts +218 -0
  782. package/src/commands/sync.ts +363 -0
  783. package/src/commands/telemetry-test.ts +97 -0
  784. package/src/commands/template.ts +166 -0
  785. package/src/commands/validate.ts +191 -0
  786. package/src/commands/watch-preferences.ts +162 -0
  787. package/src/commands/watch.ts +239 -0
  788. package/src/config/thresholds.ts +14 -0
  789. package/src/index.ts +12 -0
  790. package/src/memorylink.ts +308 -0
  791. package/src/search/local-embeddings.ts +94 -0
  792. package/src/search/vector-search.ts +608 -0
  793. package/src/server/mcp-server.ts +355 -0
  794. package/src/telemetry.ts +391 -0
  795. package/src/test-runner/TestRunner.ts +421 -0
  796. package/src/test-runner/performance-test.ts +161 -0
  797. package/src/test-runner/run-tests.ts +152 -0
  798. package/src/types.ts +533 -0
  799. package/src/utils/batch-commits.ts +162 -0
  800. package/src/utils/code-structure.ts +686 -0
  801. package/src/utils/commit-patterns.ts +87 -0
  802. package/src/utils/observability.ts +149 -0
  803. package/src/utils/quality.ts +230 -0
  804. package/src/utils/semantic-search.ts +222 -0
  805. package/src/utils/streaming.ts +109 -0
  806. package/src/utils/tag-suggestions.ts +117 -0
  807. package/src/utils/team-patterns.ts +499 -0
  808. package/src/utils/templates.ts +181 -0
  809. package/src/utils/tree-sitter-parser.ts +246 -0
  810. package/src/utils/v1.6-patterns.ts +227 -0
  811. package/src/utils.ts +885 -0
  812. package/test-all-features.sh +102 -0
  813. package/test-all-implemented-features.sh +209 -0
  814. package/test-all-new-features.sh +171 -0
  815. package/test-auto-log.txt +1 -0
  816. package/test-batch-commits.sh +47 -0
  817. package/test-conflict-resolution.sh +47 -0
  818. package/test-e2e.sh +22 -0
  819. package/test-end-to-end.sh +151 -0
  820. package/test-enhanced-autocapture.sh +164 -0
  821. package/test-inject.sh +44 -0
  822. package/test-mcp-server.sh +67 -0
  823. package/test-pagination.sh +37 -0
  824. package/test-python-go-structure.sh +164 -0
  825. package/test-quality-validation.sh +167 -0
  826. package/test-results-quick-smoke.json +13 -0
  827. package/test-results-targeted-perf.json +23 -0
  828. package/test-results.json +2272 -0
  829. package/test-scenarios/payment-logging.ts +17 -0
  830. package/test-scenarios/test-config.ts +13 -0
  831. package/test-semantic-search.sh +161 -0
  832. package/test-tag-intelligence.sh +49 -0
  833. package/test-vector-search.sh +64 -0
  834. package/test-vscode-extension.sh +144 -0
  835. package/test-watcher-file.txt +2 -0
  836. package/test-watcher-file2.txt +1 -0
  837. package/test-watcher.sh +103 -0
  838. package/test_qwen_scenarios.sh +285 -0
  839. package/tests/scenarios/4000_HARD_SCENARIOS.sh +4137 -0
  840. package/tests/scenarios/ADD_V1.1_SCENARIOS.sh +93 -0
  841. package/tests/scenarios/AGGRESSIVE_RANDOM_E2E_TEST.sh +474 -0
  842. package/tests/scenarios/COMPLETE_PRODUCT_VALIDATION.sh +227 -0
  843. package/tests/scenarios/COMPREHENSIVE_E2E_TEST.sh +426 -0
  844. package/tests/scenarios/CONTINUOUS_RANDOM_STRESS_TEST.sh +240 -0
  845. package/tests/scenarios/EXECUTE_10000_SCENARIOS.sh +61 -0
  846. package/tests/scenarios/EXECUTE_1000_UNIQUE_SCENARIOS.sh +190 -0
  847. package/tests/scenarios/EXECUTE_5000_SCENARIOS_SPLIT.sh +192 -0
  848. package/tests/scenarios/EXECUTE_5000_TOTAL_SCENARIOS.sh +162 -0
  849. package/tests/scenarios/EXECUTE_5040_SCENARIOS_WITH_V1.1.sh +251 -0
  850. package/tests/scenarios/EXECUTE_8_BATCHES_500.sh +51 -0
  851. package/tests/scenarios/EXECUTE_QUICK_SMOKE.sh +9 -0
  852. package/tests/scenarios/EXECUTE_SINGLE_BATCH.sh +117 -0
  853. package/tests/scenarios/EXECUTE_TARGETED_PERF.sh +19 -0
  854. package/tests/scenarios/GENERATE_1000_SCENARIOS.sh +235 -0
  855. package/tests/scenarios/GENERATE_4000_HARD_SCENARIOS.sh +266 -0
  856. package/tests/scenarios/GENERATE_4000_HARD_SCENARIOS_FIXED.sh +267 -0
  857. package/tests/scenarios/GENERATE_4000_HARD_SCENARIOS_FIXED_V2.sh +267 -0
  858. package/tests/scenarios/NEW_RANDOM_E2E_TEST.sh +422 -0
  859. package/tests/scenarios/QUICK_SMOKE_200.sh +38 -0
  860. package/tests/scenarios/QUICK_SMOKE_MINI.sh +3 -0
  861. package/tests/scenarios/RANDOM_REAL_WORLD_SCENARIOS.sh +372 -0
  862. package/tests/scenarios/ROUND3_RANDOM_E2E_TEST.sh +446 -0
  863. package/tests/scenarios/RUN_AGGRESSIVE_AND_SUMMARY.sh +51 -0
  864. package/tests/scenarios/RUN_ALL_1018_SCENARIOS.sh +161 -0
  865. package/tests/scenarios/TARGETED_PERF.sh +75 -0
  866. package/tests/scenarios/V1.1_FEATURES_SCENARIOS.sh +145 -0
  867. package/tests/unit/utils.test.ts +52 -0
  868. package/tests/v1.1-features-scenarios.sh +276 -0
  869. package/tsconfig.json +21 -0
  870. package/v1.6_FEATURE_REQUESTS.md +79 -0
@@ -0,0 +1,152 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Professional Test Runner CLI
4
+ * Usage: npx tsx src/test-runner/run-tests.ts [options]
5
+ */
6
+
7
+ import { TestRunner } from './TestRunner.js';
8
+ import * as path from 'path';
9
+ import * as fs from 'fs/promises';
10
+
11
+ interface Options {
12
+ scenariosFile?: string;
13
+ concurrency?: number;
14
+ verbose?: boolean;
15
+ output?: string;
16
+ batch?: number;
17
+ resume?: boolean;
18
+ checkpoint?: string;
19
+ }
20
+
21
+ async function main() {
22
+ const args = process.argv.slice(2);
23
+ const options: Options = {
24
+ scenariosFile: '4000_HARD_SCENARIOS.sh',
25
+ concurrency: 20, // Increased default for better performance
26
+ verbose: false,
27
+ output: 'test-results.json',
28
+ resume: false,
29
+ checkpoint: '.test-checkpoint.json',
30
+ };
31
+
32
+ // Parse arguments
33
+ for (let i = 0; i < args.length; i++) {
34
+ if (args[i] === '--file' || args[i] === '-f') {
35
+ options.scenariosFile = args[++i];
36
+ } else if (args[i] === '--concurrency' || args[i] === '-c') {
37
+ options.concurrency = parseInt(args[++i]) || 10;
38
+ } else if (args[i] === '--verbose' || args[i] === '-v') {
39
+ options.verbose = true;
40
+ } else if (args[i] === '--output' || args[i] === '-o') {
41
+ options.output = args[++i];
42
+ } else if (args[i] === '--batch' || args[i] === '-b') {
43
+ options.batch = parseInt(args[++i]);
44
+ } else if (args[i] === '--resume' || args[i] === '-r') {
45
+ options.resume = true;
46
+ i++;
47
+ } else if (args[i] === '--checkpoint' || args[i] === '-c') {
48
+ options.checkpoint = args[++i];
49
+ } else if (args[i] === '--help' || args[i] === '-h') {
50
+ console.log(`
51
+ MemoryLink Professional Test Runner
52
+
53
+ Usage: npx tsx src/test-runner/run-tests.ts [options]
54
+
55
+ Options:
56
+ -f, --file <path> Path to scenarios file (default: 4000_HARD_SCENARIOS.sh)
57
+ -c, --concurrency <num> Number of parallel tests (default: 10)
58
+ -v, --verbose Show detailed output for each test
59
+ -o, --output <path> Output file for JSON report (default: test-results.json)
60
+ -b, --batch <num> Run only specific batch (1-8)
61
+ -r, --resume Resume from last checkpoint
62
+ -c, --checkpoint <path> Checkpoint file path
63
+ -h, --help Show this help message
64
+
65
+ Examples:
66
+ npx tsx src/test-runner/run-tests.ts
67
+ npx tsx src/test-runner/run-tests.ts --concurrency 20 --batch 3
68
+ npx tsx src/test-runner/run-tests.ts --verbose --output results.json
69
+ `);
70
+ process.exit(0);
71
+ }
72
+ }
73
+
74
+ console.log('═══════════════════════════════════════════════════════════════════════════════');
75
+ console.log(' 🧪 MemoryLink Professional Test Runner');
76
+ console.log('═══════════════════════════════════════════════════════════════════════════════');
77
+ console.log('');
78
+
79
+ const runner = new TestRunner(
80
+ options.concurrency,
81
+ options.verbose,
82
+ options.checkpoint,
83
+ options.resume || false
84
+ );
85
+
86
+ try {
87
+ // Load scenarios
88
+ const scenariosPath = path.resolve(process.cwd(), options.scenariosFile!);
89
+ console.log(`📂 Loading scenarios from: ${scenariosPath}`);
90
+ await runner.loadScenarios(scenariosPath);
91
+
92
+ // Filter by batch if specified
93
+ if (options.batch) {
94
+ const allScenarios = (runner as any).scenarios;
95
+ (runner as any).scenarios = allScenarios.filter((s: any) => s.batch === options.batch);
96
+ console.log(`📦 Filtered to Batch ${options.batch}: ${(runner as any).scenarios.length} scenarios`);
97
+ }
98
+
99
+ // Run tests
100
+ const result = await runner.runAll();
101
+
102
+ // Display results
103
+ console.log('\n═══════════════════════════════════════════════════════════════════════════════');
104
+ console.log('📊 TEST RESULTS');
105
+ console.log('═══════════════════════════════════════════════════════════════════════════════');
106
+ console.log('');
107
+ console.log(`Total Scenarios: ${result.total}`);
108
+ console.log(`✅ Passed: ${result.passed}`);
109
+ console.log(`❌ Failed: ${result.failed}`);
110
+ console.log(`📈 Pass Rate: ${result.passRate.toFixed(2)}%`);
111
+ console.log(`⏱️ Duration: ${(result.duration / 1000).toFixed(2)}s`);
112
+ console.log('');
113
+
114
+ // Show failures
115
+ if (result.failures.length > 0) {
116
+ console.log('❌ FAILURES:');
117
+ result.failures.slice(0, 10).forEach(f => {
118
+ console.log(` - Scenario ${f.scenario.id}: ${f.scenario.description}`);
119
+ if (options.verbose && f.error) {
120
+ console.log(` Error: ${f.error.substring(0, 100)}`);
121
+ }
122
+ });
123
+ if (result.failures.length > 10) {
124
+ console.log(` ... and ${result.failures.length - 10} more`);
125
+ }
126
+ console.log('');
127
+ }
128
+
129
+ // Generate report
130
+ const reportPath = path.resolve(process.cwd(), options.output!);
131
+ await runner.generateReport(result, reportPath);
132
+
133
+ // Final verdict
134
+ if (result.failed === 0) {
135
+ console.log('🎯 RESULT: ✅ ALL SCENARIOS PASSED (100%)');
136
+ console.log('');
137
+ console.log('═══════════════════════════════════════════════════════════════════════════════');
138
+ console.log(' 🚀 MemoryLink v1.0 - PRODUCTION READY');
139
+ console.log('═══════════════════════════════════════════════════════════════════════════════');
140
+ process.exit(0);
141
+ } else {
142
+ console.log(`⚠️ RESULT: ${result.failed} scenario(s) failed`);
143
+ process.exit(1);
144
+ }
145
+ } catch (error: any) {
146
+ console.error('❌ Test execution failed:', error.message);
147
+ process.exit(1);
148
+ }
149
+ }
150
+
151
+ main().catch(console.error);
152
+
package/src/types.ts ADDED
@@ -0,0 +1,533 @@
1
+ /**
2
+ * MemoryLink - Core Types and Interfaces
3
+ * Universal memory layer for AI coding assistants
4
+ *
5
+ * v1.0 UPDATE: All logs now use JSONL format for robust parsing,
6
+ * schema validation, and future extensibility.
7
+ */
8
+
9
+ // ============================================
10
+ // ENTRY STATUS TYPES
11
+ // ============================================
12
+
13
+ // Log entry status for learnings
14
+ export type LearningStatus = 'SUCCESS' | 'FAILED';
15
+
16
+ // Entry lifecycle status
17
+ export type EntryStatus = 'ACTIVE' | 'DEPRECATED' | 'DELETED';
18
+
19
+ // Memory entry types
20
+ export type MemoryType = 'note' | 'decision' | 'doc_ref' | 'context' | 'rule' | 'preference' | 'code_snippet' | 'code_structure';
21
+
22
+ // ============================================
23
+ // JSONL ENTRY INTERFACES (v1.0)
24
+ // ============================================
25
+
26
+ /**
27
+ * Base interface for all JSONL log entries
28
+ */
29
+ export interface BaseEntry {
30
+ id: string; // UUID v4
31
+ ts: string; // ISO 8601 timestamp
32
+ agent: string; // "cursor", "claude", "chatgpt", "user", etc.
33
+ status: EntryStatus; // Entry lifecycle status
34
+ tags?: string[]; // Searchable keywords
35
+ forcedSecretCheck?: boolean; // If --force was used to bypass secret detection
36
+ }
37
+
38
+ /**
39
+ * Memory log entry (JSONL format)
40
+ * File: .memorylink/memory.log
41
+ *
42
+ * v1.4: Enhanced with Buddy-Check fields (backward compatible)
43
+ * v1.3 and earlier records will have defaults applied during migration
44
+ */
45
+ export interface MemoryEntry extends BaseEntry {
46
+ type: MemoryType; // Type of memory entry
47
+ details: string; // Main content/message
48
+ path?: string; // For doc_ref: path to referenced file
49
+ hash?: string; // For doc_ref: file hash for integrity
50
+ replacesId?: string; // ID of entry this replaces (for updates)
51
+ // For code_snippet type:
52
+ code?: string; // Actual code content
53
+ language?: string; // Programming language (typescript, python, etc.)
54
+ file?: string; // Source file path (for code_snippet)
55
+ lines?: string; // Line range (e.g., "42-50" or "42")
56
+ context?: string; // Why this snippet is important
57
+ // For code_structure type (v1.2):
58
+ dependencies?: string[]; // Files this depends on
59
+ complexity?: number; // Code complexity score
60
+
61
+ // v1.4 Buddy-Check fields (optional for backward compatibility)
62
+ schemaVersion?: string; // "1.4.0" if v1.4 record, undefined for v1.3
63
+ recordVersion?: number; // Version number for this record
64
+ projectPath?: string; // Project path (defaults to current dir)
65
+ location?: RecordLocation; // Code location if applicable
66
+ sensitivity?: Sensitivity; // Defaults to 'internal' if missing
67
+ trustLevel?: TrustLevel; // Defaults to 'medium' if missing
68
+ memoryStatus?: MemoryStatus; // Defaults to 'VERIFIED' for human, 'DRAFT' for agent
69
+ sourceType?: SourceType; // Defaults based on agent field
70
+ provenance?: Provenance; // Defaults from ts/agent fields
71
+ expiresAt?: string; // Optional TTL
72
+ incident?: boolean; // Optional incident flag
73
+ // v1.5 Phase 2: Project scoping
74
+ projectScope?: string; // Optional project/feature scope (e.g., "frontend", "backend")
75
+ }
76
+
77
+ /**
78
+ * Learning log entry (JSONL format)
79
+ * File: .memorylink/learnings.log
80
+ */
81
+ export interface LearningEntry extends BaseEntry {
82
+ problem: string; // Problem description
83
+ solution: string; // Solution that was tried
84
+ outcome: LearningStatus; // SUCCESS or FAILED
85
+ reason?: string; // Why it succeeded/failed
86
+ confidence?: number; // 0-1 confidence score
87
+ replacesId?: string; // ID of entry this replaces
88
+ }
89
+
90
+ /**
91
+ * Change log entry (JSONL format)
92
+ * File: .memorylink/changes.log
93
+ */
94
+ export interface ChangeEntry extends BaseEntry {
95
+ file: string; // File path that was changed
96
+ action: 'created' | 'edited' | 'deleted' | 'renamed';
97
+ reason: string; // Why the change was made
98
+ user?: string; // User who initiated (if known)
99
+ diff?: string; // Optional diff summary
100
+ // Enhanced context fields (v1.2+):
101
+ justification?: string; // Detailed justification for the change
102
+ reviewedBy?: string; // Person who reviewed the change
103
+ tested?: string; // Testing status/notes
104
+ impact?: string; // Human-readable impact description
105
+ // For change_impact type (v1.2):
106
+ type?: 'change' | 'change_impact';
107
+ impactData?: {
108
+ direct_dependents: number;
109
+ indirect_dependents: number;
110
+ breaking_changes: string[];
111
+ migration_required: boolean;
112
+ };
113
+ }
114
+
115
+ /**
116
+ * Protected file entry
117
+ * File: .memorylink/protected.txt (plain text, one per line)
118
+ */
119
+ export interface ProtectedFile {
120
+ path: string;
121
+ addedAt: string;
122
+ reason?: string;
123
+ }
124
+
125
+ // ============================================
126
+ // LEGACY TYPES (for migration)
127
+ // ============================================
128
+
129
+ /**
130
+ * Legacy memory entry (pre-v1.0 text format)
131
+ * Format: [TIMESTAMP] MESSAGE [tags]
132
+ */
133
+ export interface LegacyMemoryEntry {
134
+ timestamp: string;
135
+ message: string;
136
+ tags?: string[];
137
+ }
138
+
139
+ /**
140
+ * Legacy learning entry (pre-v1.0 text format)
141
+ * Format: [TIMESTAMP] [STATUS] PROBLEM -> SOLUTION [tags]
142
+ */
143
+ export interface LegacyLearningEntry {
144
+ timestamp: string;
145
+ problem: string;
146
+ solution: string;
147
+ status: LearningStatus;
148
+ tags?: string[];
149
+ }
150
+
151
+ /**
152
+ * Legacy change entry (pre-v1.0 text format)
153
+ * Format: [TIMESTAMP] FILE: REASON (agent)
154
+ */
155
+ export interface LegacyChangeEntry {
156
+ timestamp: string;
157
+ file: string;
158
+ reason: string;
159
+ agent?: string;
160
+ }
161
+
162
+ // Configuration
163
+ export interface MemoryLinkConfig {
164
+ version: string;
165
+ initialized: string;
166
+ watchIgnore: string[];
167
+ // v1.4: Mode configuration for Buddy-Check
168
+ mode?: 'developer' | 'enterprise';
169
+ strict?: boolean;
170
+ // v1.5 Phase 2: Lock timeout configuration
171
+ lockTimeoutMinutes?: number;
172
+ // v1.5 Phase 2: Smart filtering weights
173
+ smart?: {
174
+ weights?: {
175
+ trust?: { high?: number; medium?: number; low?: number };
176
+ status?: { verified?: number; draft?: number; default?: number };
177
+ recency?: { day1?: number; day7?: number; day30?: number; day90?: number; older?: number };
178
+ file?: { exact?: number; partial?: number; directory?: number };
179
+ task?: { max?: number };
180
+ };
181
+ threshold?: number; // Minimum score to include (default: 10)
182
+ };
183
+ // v1.6: Telemetry configuration (opt-in only, OFF by default)
184
+ telemetry?: {
185
+ enabled?: boolean; // Default: false (opt-in only)
186
+ endpoint?: string | null; // HTTP endpoint for events (null = disabled)
187
+ apiKey?: string | null; // Optional API key for authentication
188
+ };
189
+ }
190
+
191
+ // Export options
192
+ export interface ExportOptions extends GlobalOptions {
193
+ format?: 'json' | 'jsonl';
194
+ limit?: number;
195
+ }
196
+
197
+ // Doctor check result (v1.3)
198
+ export interface DoctorCheck {
199
+ name: string;
200
+ status: 'pass' | 'fail' | 'warn';
201
+ message: string;
202
+ suggestion?: string; // Auto-fix suggestion for this issue
203
+ }
204
+
205
+ // ============================================
206
+ // V1.4 BUDDY-CHECK TYPES
207
+ // ============================================
208
+
209
+ /**
210
+ * Buddy-Check status (v1.4)
211
+ * GREEN: No errors, safe to proceed
212
+ * YELLOW: Warnings but no hard errors
213
+ * RED: Critical errors, should block
214
+ */
215
+ export type BuddyStatus = 'GREEN' | 'YELLOW' | 'RED';
216
+
217
+ /**
218
+ * Buddy-Check issue (v1.4)
219
+ */
220
+ export interface BuddyIssue {
221
+ id?: string; // record id if applicable
222
+ type: string; // SCHEMA, BROKEN_REF, SECRET, PII, STALE, CONFLICT, POLICY, etc.
223
+ severity: 'info' | 'warning' | 'error';
224
+ message: string;
225
+ projectPath?: string;
226
+ suggestion?: string; // Optional fix suggestion
227
+ }
228
+
229
+ /**
230
+ * Human override information (v1.4)
231
+ */
232
+ export interface BuddyOverride {
233
+ approvedBy: string;
234
+ reason: string;
235
+ timestamp: string; // ISO 8601 UTC
236
+ }
237
+
238
+ /**
239
+ * Buddy-Check report (v1.4)
240
+ */
241
+ export interface BuddyReport {
242
+ status: BuddyStatus;
243
+ summary: string;
244
+ issues: BuddyIssue[];
245
+ override?: BuddyOverride;
246
+ timestamp?: string; // When report was generated
247
+ runType?: 'preflight' | 'postflight';
248
+ agentId?: string; // Agent that triggered the check
249
+ branch?: string; // Git branch
250
+ recordsUsed?: number; // Number of records checked
251
+ highTrust?: number; // Count of high trust records
252
+ mediumTrust?: number; // Count of medium trust records
253
+ lowTrust?: number; // Count of low trust records
254
+ staleCount?: number; // Count of stale records
255
+ durationMs?: number; // Check duration in milliseconds
256
+ }
257
+
258
+ // Status report
259
+ export interface StatusReport {
260
+ initialized: boolean;
261
+ protectedCount: number;
262
+ memoryCount: number;
263
+ changesCount: number;
264
+ learningsCount: number;
265
+ successCount: number;
266
+ failedCount: number;
267
+ }
268
+
269
+ // ============================================
270
+ // CLI OPTIONS
271
+ // ============================================
272
+
273
+ export interface GlobalOptions {
274
+ verbose?: boolean;
275
+ }
276
+
277
+ export interface MemoryOptions extends GlobalOptions {
278
+ tags?: string;
279
+ type?: MemoryType;
280
+ force?: boolean; // Bypass secret detection
281
+ template?: string; // Template name (v1.3 - Week 6)
282
+ scope?: string; // v1.5 Phase 2: Project scope (e.g., "frontend", "backend")
283
+ }
284
+
285
+ export interface LearnOptions extends GlobalOptions {
286
+ status: LearningStatus;
287
+ tags?: string;
288
+ reason?: string;
289
+ force?: boolean; // Bypass secret detection
290
+ template?: string; // Template name (v1.3 - Week 6)
291
+ }
292
+
293
+ export interface ChangeOptions extends GlobalOptions {
294
+ justification?: string; // Detailed justification
295
+ reviewedBy?: string; // Reviewer name
296
+ tested?: string; // Testing status
297
+ impact?: string; // Impact description
298
+ action?: 'created' | 'edited' | 'deleted' | 'renamed';
299
+ agent?: string;
300
+ force?: boolean; // Bypass secret detection
301
+ }
302
+
303
+ export interface WatchOptions extends GlobalOptions {
304
+ ignore?: string[];
305
+ }
306
+
307
+ export interface GetContextOptions extends GlobalOptions {
308
+ limit?: number;
309
+ since?: string; // Duration like "7d", "2w", "1m"
310
+ tag?: string;
311
+ type?: MemoryType;
312
+ format?: 'default' | 'raw' | 'json' | 'cursor' | 'claude' | 'chatgpt'; // AI-specific formatting
313
+ page?: number; // Page number for pagination
314
+ perPage?: number; // Results per page
315
+ stream?: boolean; // Use streaming mode (memory-efficient)
316
+ smart?: boolean; // v1.5 Phase 1: Smart filtering with ranking
317
+ task?: string; // v1.5 Phase 1: Task description for smart filtering
318
+ scope?: string; // v1.5 Phase 2: Filter by project scope
319
+ }
320
+
321
+ export interface ListOptions extends GlobalOptions {
322
+ limit?: number;
323
+ since?: string; // Duration like "7d", "2w", "1m"
324
+ tag?: string;
325
+ status?: EntryStatus | LearningStatus;
326
+ json?: boolean; // Output as JSON
327
+ }
328
+
329
+ export interface SearchOptions extends GlobalOptions {
330
+ tag?: string;
331
+ since?: string;
332
+ limit?: number;
333
+ type?: string; // "memory", "learning", "change", or "all"
334
+ semantic?: boolean; // Use semantic search instead of keyword matching (TF-IDF)
335
+ vector?: boolean; // Use vector search (embeddings) - requires index
336
+ threshold?: number; // Semantic similarity threshold (0-1)
337
+ json?: boolean;
338
+ }
339
+
340
+ export interface DoctorOptions extends GlobalOptions {
341
+ fix?: boolean; // Auto-fix issues where possible
342
+ scanSecrets?: boolean;
343
+ }
344
+
345
+ // File paths configuration
346
+ export const MEMORYLINK_DIR = '.memorylink';
347
+ export const FILES = {
348
+ PROTECTED: 'protected.txt',
349
+ MEMORY: 'memory.log',
350
+ CHANGES: 'changes.log',
351
+ LEARNINGS: 'learnings.log',
352
+ CONFIG: 'config.json',
353
+ IGNORE: '.memorylinkignore',
354
+ RULES: 'rules.md',
355
+ PREFERENCES: 'preferences.json',
356
+ AGENTS: 'AGENTS.md',
357
+ } as const;
358
+
359
+ // Default ignore patterns
360
+ export const DEFAULT_IGNORE_PATTERNS = [
361
+ 'node_modules/**',
362
+ '.git/**',
363
+ 'dist/**',
364
+ 'build/**',
365
+ '.next/**',
366
+ '.nuxt/**',
367
+ 'coverage/**',
368
+ '*.log',
369
+ '.DS_Store',
370
+ 'Thumbs.db',
371
+ '.env*',
372
+ '*.lock',
373
+ 'package-lock.json',
374
+ 'yarn.lock',
375
+ 'pnpm-lock.yaml',
376
+ ];
377
+
378
+ // ============================================
379
+ // SECRET DETECTION PATTERNS
380
+ // ============================================
381
+
382
+ export interface SecretPattern {
383
+ name: string;
384
+ pattern: RegExp;
385
+ }
386
+
387
+ export const SECRET_PATTERNS: SecretPattern[] = [
388
+ // API Keys - Common Providers
389
+ { name: 'OpenAI API Key', pattern: /sk-[a-zA-Z0-9]{8,}/ }, // sk- followed by 8+ chars
390
+ { name: 'OpenAI Project Key', pattern: /sk-proj-[a-zA-Z0-9]{8,}/ },
391
+ { name: 'Anthropic API Key', pattern: /sk-ant-[a-zA-Z0-9-]{8,}/ },
392
+ { name: 'Stripe Secret Key', pattern: /sk_live_[a-zA-Z0-9]{8,}/ },
393
+ { name: 'Stripe Test Key', pattern: /sk_test_[a-zA-Z0-9]{8,}/ },
394
+ { name: 'AWS Access Key', pattern: /AKIA[0-9A-Z]{16}/ },
395
+ { name: 'AWS Secret Key', pattern: /AWS_SECRET_ACCESS_KEY\s*[:=]\s*['"]?[a-zA-Z0-9/+=]{8,}['"]?/i },
396
+ { name: 'GitHub Token', pattern: /ghp_[a-zA-Z0-9]{20,}/ },
397
+ { name: 'GitHub Token (PAT)', pattern: /github_pat_[a-zA-Z0-9_]{20,}/ },
398
+ { name: 'Google API Key', pattern: /AIza[0-9A-Za-z-_]{30,}/ },
399
+ { name: 'Slack Token', pattern: /xox[baprs]-[0-9]{8,}/ },
400
+
401
+ // Generic patterns - More aggressive
402
+ { name: 'API Key Assignment', pattern: /api[_-]?key\s*[:=]\s*['"]?[a-zA-Z0-9_-]{8,}['"]?/i },
403
+ { name: 'Secret Assignment', pattern: /secret\s*[:=]\s*['"]?[a-zA-Z0-9_-]{8,}['"]?/i },
404
+ { name: 'Token Assignment', pattern: /token\s*[:=]\s*['"]?[a-zA-Z0-9_-]{12,}['"]?/i },
405
+ { name: 'Password Assignment', pattern: /password\s*[:=]\s*['"]?[^\s'"]{4,}['"]?/i },
406
+ { name: 'Passwd Assignment', pattern: /passwd\s*[:=]\s*['"]?[^\s'"]{4,}['"]?/i },
407
+ { name: 'Pwd Assignment', pattern: /\bpwd\s*[:=]\s*['"]?[^\s'"]{4,}['"]?/i },
408
+ { name: 'Database URL with Password', pattern: /postgres(ql)?:\/\/[^:]+:[^@]+@/i },
409
+ { name: 'Redis URL with Password', pattern: /redis:\/\/:[^@]+@/i },
410
+ { name: 'MongoDB URL with Password', pattern: /mongodb(\+srv)?:\/\/[^:]+:[^@]+@/i },
411
+ { name: 'Private Key', pattern: /-----BEGIN (?:[A-Z]+ )?PRIVATE KEY-----/ },
412
+ { name: 'Bearer Token', pattern: /bearer\s+[a-zA-Z0-9_-]{16,}/i },
413
+
414
+ // Key-like strings (looks like actual keys, not variable names)
415
+ { name: 'Potential API Key', pattern: /['"]\s*sk[_-][a-zA-Z0-9]{16,}\s*['"]/ },
416
+ ];
417
+
418
+ // ============================================
419
+ // DURATION PARSING
420
+ // ============================================
421
+
422
+ export type DurationUnit = 'd' | 'w' | 'm' | 'y';
423
+
424
+ export const DURATION_MS: Record<DurationUnit, number> = {
425
+ d: 24 * 60 * 60 * 1000, // 1 day
426
+ w: 7 * 24 * 60 * 60 * 1000, // 1 week
427
+ m: 30 * 24 * 60 * 60 * 1000, // 1 month (approx)
428
+ y: 365 * 24 * 60 * 60 * 1000, // 1 year (approx)
429
+ };
430
+
431
+ // ============================================
432
+ // V1.4 SCHEMA TYPES (Buddy-Check)
433
+ // ============================================
434
+
435
+ /**
436
+ * Memory record status for Buddy-Check
437
+ * DRAFT: Unverified, needs human review
438
+ * VERIFIED: Human-approved or CI-verified
439
+ */
440
+ export type MemoryStatus = 'DRAFT' | 'VERIFIED';
441
+
442
+ /**
443
+ * Sensitivity classification for memory records
444
+ * public: Safe to share publicly
445
+ * internal: Internal use only
446
+ * secret: Contains sensitive information
447
+ */
448
+ export type Sensitivity = 'public' | 'internal' | 'secret';
449
+
450
+ /**
451
+ * Trust level for memory records
452
+ * high: Verified, recent, from trusted source
453
+ * medium: Default for most records
454
+ * low: Stale, unverified, or from untrusted source
455
+ */
456
+ export type TrustLevel = 'high' | 'medium' | 'low';
457
+
458
+ /**
459
+ * Source type of the memory record
460
+ * human: Created by human user
461
+ * code: Extracted from code analysis
462
+ * agent: Created by AI agent
463
+ * external: From external system
464
+ */
465
+ export type SourceType = 'human' | 'code' | 'agent' | 'external';
466
+
467
+ /**
468
+ * Record type for v1.4 schema
469
+ * NODE: Code structure node
470
+ * EDGE: Dependency relationship
471
+ * NOTE: General note/decision
472
+ * EVENT: Change event
473
+ */
474
+ export type RecordType = 'NODE' | 'EDGE' | 'NOTE' | 'EVENT';
475
+
476
+ /**
477
+ * Provenance information for memory records
478
+ */
479
+ export interface Provenance {
480
+ createdAt: string; // ISO 8601 UTC
481
+ createdBy: string; // user or agent id
482
+ model?: string; // AI model name (e.g., "claude-3.5-sonnet")
483
+ tool?: string; // cursor, vscode, cli, etc.
484
+ commitOid?: string; // Git commit OID
485
+ branch?: string; // Git branch name
486
+ prNumber?: string; // Pull request number
487
+ kind: 'user' | 'app' | 'signed-token';
488
+ tokenIssuer?: string; // Token issuer for signed-token kind
489
+ }
490
+
491
+ /**
492
+ * Location information for code-related records
493
+ */
494
+ export interface RecordLocation {
495
+ lineStart: number;
496
+ lineEnd: number;
497
+ commit: string; // commitOid
498
+ }
499
+
500
+ /**
501
+ * v1.4 Memory Record (enhanced schema for Buddy-Check)
502
+ * This is the new canonical format for all memory records
503
+ */
504
+ export interface MemoryRecord {
505
+ id: string;
506
+ schemaVersion: string; // "1.4.0"
507
+ recordVersion: number; // start at 1, increment on update
508
+
509
+ type: RecordType;
510
+ projectPath: string;
511
+ branch?: string;
512
+ location?: RecordLocation;
513
+ content: string;
514
+
515
+ sensitivity: Sensitivity;
516
+ trustLevel: TrustLevel;
517
+ status: MemoryStatus; // 'DRAFT' or 'VERIFIED'
518
+
519
+ sourceType: SourceType;
520
+ provenance: Provenance;
521
+
522
+ expiresAt?: string; // optional TTL hint (ISO 8601)
523
+ incident?: boolean; // optional incident flag
524
+ projectScope?: string; // v1.5 Phase 2: Optional project/feature scope (e.g., "frontend", "backend", "auth-module")
525
+ }
526
+
527
+ // ============================================
528
+ // VERSION INFO
529
+ // ============================================
530
+
531
+ export const MEMORYLINK_VERSION = '1.0.0';
532
+ export const JSONL_SCHEMA_VERSION = '1.0';
533
+