memax-cli 0.1.2 → 0.1.3

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 (56) hide show
  1. package/LICENSE +201 -21
  2. package/NOTICE +5 -0
  3. package/README.md +4 -3
  4. package/dist/commands/agent-sessions.js +3 -3
  5. package/dist/commands/agent-sessions.js.map +1 -1
  6. package/dist/commands/dreams.d.ts +22 -1
  7. package/dist/commands/dreams.d.ts.map +1 -1
  8. package/dist/commands/dreams.js +98 -0
  9. package/dist/commands/dreams.js.map +1 -1
  10. package/dist/lib/project-context.d.ts +5 -5
  11. package/dist/lib/project-context.js +5 -5
  12. package/package.json +5 -4
  13. package/dist/commands/agent-configs.test.d.ts +0 -2
  14. package/dist/commands/agent-configs.test.d.ts.map +0 -1
  15. package/dist/commands/agent-configs.test.js +0 -122
  16. package/dist/commands/agent-configs.test.js.map +0 -1
  17. package/dist/commands/agent-sessions.test.d.ts +0 -2
  18. package/dist/commands/agent-sessions.test.d.ts.map +0 -1
  19. package/dist/commands/agent-sessions.test.js +0 -255
  20. package/dist/commands/agent-sessions.test.js.map +0 -1
  21. package/dist/commands/dreams.test.d.ts +0 -2
  22. package/dist/commands/dreams.test.d.ts.map +0 -1
  23. package/dist/commands/dreams.test.js +0 -39
  24. package/dist/commands/dreams.test.js.map +0 -1
  25. package/dist/commands/hub.test.d.ts +0 -2
  26. package/dist/commands/hub.test.d.ts.map +0 -1
  27. package/dist/commands/hub.test.js +0 -62
  28. package/dist/commands/hub.test.js.map +0 -1
  29. package/dist/commands/import.test.d.ts +0 -2
  30. package/dist/commands/import.test.d.ts.map +0 -1
  31. package/dist/commands/import.test.js +0 -11
  32. package/dist/commands/import.test.js.map +0 -1
  33. package/dist/commands/list.test.d.ts +0 -2
  34. package/dist/commands/list.test.d.ts.map +0 -1
  35. package/dist/commands/list.test.js +0 -20
  36. package/dist/commands/list.test.js.map +0 -1
  37. package/dist/commands/recall.test.d.ts +0 -2
  38. package/dist/commands/recall.test.d.ts.map +0 -1
  39. package/dist/commands/recall.test.js +0 -31
  40. package/dist/commands/recall.test.js.map +0 -1
  41. package/dist/commands/topic.test.d.ts +0 -2
  42. package/dist/commands/topic.test.d.ts.map +0 -1
  43. package/dist/commands/topic.test.js +0 -114
  44. package/dist/commands/topic.test.js.map +0 -1
  45. package/dist/lib/client.test.d.ts +0 -2
  46. package/dist/lib/client.test.d.ts.map +0 -1
  47. package/dist/lib/client.test.js +0 -44
  48. package/dist/lib/client.test.js.map +0 -1
  49. package/dist/lib/hubs.test.d.ts +0 -2
  50. package/dist/lib/hubs.test.d.ts.map +0 -1
  51. package/dist/lib/hubs.test.js +0 -58
  52. package/dist/lib/hubs.test.js.map +0 -1
  53. package/dist/lib/project-context.test.d.ts +0 -2
  54. package/dist/lib/project-context.test.d.ts.map +0 -1
  55. package/dist/lib/project-context.test.js +0 -75
  56. package/dist/lib/project-context.test.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-sessions.test.js","sourceRoot":"","sources":["../../src/commands/agent-sessions.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,6BAA6B,EAC7B,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,6BAA6B,EAC7B,8BAA8B,EAC9B,4BAA4B,GAC7B,MAAM,qBAAqB,CAAC;AAE7B,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,MAAM,GAAG,GAAG,mBAAmB,CAAC;IAChC,MAAM,IAAI,GAAG,cAAc,CAAC;IAC5B,MAAM,KAAK,GAAG,oCAAoC,CAAC;IAEnD,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,CACJ,4BAA4B,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE;YAC/D,GAAG;YACH,IAAI;YACJ,mBAAmB,EAAE,KAAK;SAC3B,CAAC,CACH,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CACJ,4BAA4B,CAC1B,OAAO,EACP,mCAAmC,EACnC,QAAQ,EACR;YACE,GAAG;YACH,IAAI;YACJ,mBAAmB,EAAE,KAAK;SAC3B,CACF,CACF,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,0BAA0B,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,CACJ,4BAA4B,CAAC,QAAQ,EAAE,oBAAoB,EAAE,KAAK,EAAE;YAClE,GAAG;YACH,IAAI;YACJ,mBAAmB,EAAE,+BAA+B;SACrD,CAAC,CACH,CAAC,QAAQ,EAAE,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,CACJ,4BAA4B,CAC1B,OAAO,EACP,mCAAmC,EACnC,KAAK,EACL;YACE,GAAG;YACH,IAAI;YACJ,mBAAmB,EAAE,KAAK;SAC3B,CACF,CACF,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,0BAA0B,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,MAAM,GAAG,GAAG,mBAAmB,CAAC;IAChC,MAAM,IAAI,GAAG,cAAc,CAAC;IAC5B,MAAM,KAAK,GAAG,oCAAoC,CAAC;IAEnD,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,MAAM,GAAG,6BAA6B,CAC1C,OAAO,EACP,eAAe,EACf,QAAQ,EACR;YACE,GAAG;YACH,IAAI;YACJ,mBAAmB,EAAE,KAAK;YAC1B,UAAU,EAAE,IAAI,GAAG,CAAC;gBAClB;oBACE,4BAA4B;oBAC5B;wBACE,KAAK,EAAE,OAAO;wBACd,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,eAAe,CAAC;wBAC3C,QAAQ,EAAE,eAAe;wBACzB,KAAK,EAAE,QAAQ;wBACf,WAAW,EAAE,SAAS;qBACvB;iBACF;aACF,CAAC;SACH,CACF,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,eAAe,CAAC;YAC3C,MAAM,EAAE,iBAAiB;SAC1B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,MAAM,GAAG,6BAA6B,CAC1C,OAAO,EACP,eAAe,EACf,QAAQ,EACR;YACE,GAAG;YACH,IAAI;YACJ,mBAAmB,EAAE,KAAK;SAC3B,CACF,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,eAAe,CAAC;YAC3C,MAAM,EAAE,6BAA6B;SACtC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,MAAM,GAAG,6BAA6B,CAC1C,QAAQ,EACR,oBAAoB,EACpB,KAAK,EACL;YACE,GAAG;YACH,IAAI;YACJ,mBAAmB,EAAE,+BAA+B;SACrD,CACF,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE,uCAAuC;SAChD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CACvB,GAAG,IAAI,CAAC,SAAS,CAAC;YAChB,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,EAAE,GAAG,EAAE,mBAAmB,EAAE;SACtC,CAAC,IAAI,EACN,OAAO,CACR,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CACxB,GAAG,IAAI,CAAC,SAAS,CAAC;YAChB,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,EAAE,GAAG,EAAE,wBAAwB,EAAE;SAC3C,CAAC,IAAI,EACN,OAAO,CACR,CAAC;QAEF,MAAM,CACJ,0BAA0B,CAAC,OAAO,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAChE,CAAC,IAAI,CACJ,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,wBAAwB,CAAC,CACtE,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CACzB,GAAG,IAAI,CAAC,SAAS,CAAC;YAChB,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,EAAE,GAAG,EAAE,mBAAmB,EAAE;SACtC,CAAC,IAAI,EACN,OAAO,CACR,CAAC;QAEF,MAAM,QAAQ,GAAG,8BAA8B,CAAC,OAAO,EAAE,OAAO,EAAE;YAChE,KAAK,EAAE,oCAAoC;YAC3C,sBAAsB,EAAE,wBAAwB;YAChD,SAAS,EAAE,4CAA4C;SACxD,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAErB,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;QACrD,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;QACtD,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAE/C,8BAA8B,CAAC,QAAQ,EAAE,OAAO,EAAE;YAChD,KAAK,EAAE,oCAAoC;YAC3C,sBAAsB,EAAE,mBAAmB;YAC3C,SAAS;SACV,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAC/C,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAEtE,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAC5B,GAAG,IAAI,CAAC,SAAS,CAAC;YAChB,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,EAAE,GAAG,EAAE,mBAAmB,EAAE;SACtC,CAAC,IAAI,EACN,OAAO,CACR,CAAC;QAEF,MAAM,YAAY,GAAG,8BAA8B,CAAC,OAAO,EAAE,UAAU,EAAE;YACvE,KAAK,EAAE,oCAAoC;YAC3C,sBAAsB,EAAE,wBAAwB;YAChD,SAAS,EAAE,4CAA4C;SACxD,CAAC,CAAC;QAEH,MAAM,CACJ,sBAAsB,CACpB,OAAO,EACP,oCAAoC,EACpC,YAAY,EACZ,wBAAwB,CACzB,CACF,CAAC,IAAI,CACJ,0BAA0B,CACxB,OAAO,EACP,YAAY,EACZ,wBAAwB,CACzB,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,CACJ,6BAA6B,CAC3B;YACE,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,OAAO;YACd,SAAS,EACP,4FAA4F;YAC9F,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,YAAY;SACrB,EACD,IAAI,GAAG,CAAC;YACN,kGAAkG;SACnG,CAAC,CACH,CACF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,MAAM,CACJ,6BAA6B,CAC3B;YACE,MAAM,EAAE,cAAc;YACtB,KAAK,EAAE,OAAO;YACd,SAAS,EACP,4FAA4F;YAC9F,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,oBAAoB;SAC7B,EACD,IAAI,GAAG,CAAC;YACN,kGAAkG;SACnG,CAAC,CACH,CACF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,CACJ,6BAA6B,CAC3B;YACE,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,OAAO;YACd,SAAS,EAAE,eAAe;YAC1B,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,YAAY;SACrB,EACD,IAAI,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,CACjC,CACF,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEd,MAAM,CACJ,6BAA6B,CAC3B;YACE,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,OAAO;YACd,SAAS,EAAE,mCAAmC;YAC9C,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,YAAY;SACrB,EACD,IAAI,GAAG,EAAE,CACV,CACF,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,KAAK,GAAG,0BAA0B,CAAC;YACvC;gBACE,EAAE,EAAE,IAAI;gBACR,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,OAAO;gBACd,SAAS,EAAE,mCAAmC;gBAC9C,KAAK,EAAE,QAAQ;gBACf,YAAY,EAAE,YAAY;gBAC1B,QAAQ,EAAE,eAAe;gBACzB,YAAY,EAAE,mBAAmB;gBACjC,UAAU,EAAE,EAAE;gBACd,YAAY,EAAE,KAAK;gBACnB,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,sBAAsB;gBAClC,UAAU,EAAE,sBAAsB;aACnC;YACD;gBACE,EAAE,EAAE,IAAI;gBACR,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,OAAO;gBACd,SAAS,EAAE,mCAAmC;gBAC9C,KAAK,EAAE,oCAAoC;gBAC3C,YAAY,EAAE,YAAY;gBAC1B,QAAQ,EAAE,eAAe;gBACzB,YAAY,EAAE,mBAAmB;gBACjC,UAAU,EAAE,EAAE;gBACd,YAAY,EAAE,KAAK;gBACnB,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,sBAAsB;gBAClC,UAAU,EAAE,sBAAsB;aACnC;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,MAAM,KAAK,GAAG,0BAA0B,CAAC;YACvC;gBACE,EAAE,EAAE,IAAI;gBACR,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,OAAO;gBACd,SAAS,EAAE,eAAe;gBAC1B,KAAK,EAAE,QAAQ;gBACf,YAAY,EAAE,SAAS;gBACvB,QAAQ,EAAE,eAAe;gBACzB,YAAY,EAAE,mBAAmB;gBACjC,UAAU,EAAE,EAAE;gBACd,YAAY,EAAE,KAAK;gBACnB,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,sBAAsB;gBAClC,UAAU,EAAE,sBAAsB;aACnC;YACD;gBACE,EAAE,EAAE,IAAI;gBACR,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,OAAO;gBACd,SAAS,EAAE,eAAe;gBAC1B,KAAK,EAAE,oCAAoC;gBAC3C,YAAY,EAAE,SAAS;gBACvB,QAAQ,EAAE,eAAe;gBACzB,YAAY,EAAE,mBAAmB;gBACjC,UAAU,EAAE,EAAE;gBACd,YAAY,EAAE,KAAK;gBACnB,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,sBAAsB;gBAClC,UAAU,EAAE,sBAAsB;aACnC;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=dreams.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dreams.test.d.ts","sourceRoot":"","sources":["../../src/commands/dreams.test.ts"],"names":[],"mappings":""}
@@ -1,39 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { summarizeRun } from "./dreams.js";
3
- describe("summarizeRun", () => {
4
- it("includes only non-zero dream outcomes", () => {
5
- expect(summarizeRun({
6
- id: "r1",
7
- owner_id: "u1",
8
- hub_id: "h1",
9
- status: "completed",
10
- started_at: "",
11
- finished_at: "",
12
- memories_scanned: 12,
13
- duplicates_merged: 2,
14
- contradictions_found: 1,
15
- memories_archived: 0,
16
- memories_organized: 5,
17
- topics_restructured: 0,
18
- report: "",
19
- })).toEqual(["2 merged", "1 contradictions", "5 organized"]);
20
- });
21
- it("returns an empty summary when no changes were made", () => {
22
- expect(summarizeRun({
23
- id: "r2",
24
- owner_id: "u1",
25
- hub_id: "h1",
26
- status: "completed",
27
- started_at: "",
28
- finished_at: "",
29
- memories_scanned: 2,
30
- duplicates_merged: 0,
31
- contradictions_found: 0,
32
- memories_archived: 0,
33
- memories_organized: 0,
34
- topics_restructured: 0,
35
- report: "",
36
- })).toEqual([]);
37
- });
38
- });
39
- //# sourceMappingURL=dreams.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dreams.test.js","sourceRoot":"","sources":["../../src/commands/dreams.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CACJ,YAAY,CAAC;YACX,EAAE,EAAE,IAAI;YACR,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,WAAW;YACnB,UAAU,EAAE,EAAE;YACd,WAAW,EAAE,EAAE;YACf,gBAAgB,EAAE,EAAE;YACpB,iBAAiB,EAAE,CAAC;YACpB,oBAAoB,EAAE,CAAC;YACvB,iBAAiB,EAAE,CAAC;YACpB,kBAAkB,EAAE,CAAC;YACrB,mBAAmB,EAAE,CAAC;YACtB,MAAM,EAAE,EAAE;SACX,CAAC,CACH,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,kBAAkB,EAAE,aAAa,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,CACJ,YAAY,CAAC;YACX,EAAE,EAAE,IAAI;YACR,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,WAAW;YACnB,UAAU,EAAE,EAAE;YACd,WAAW,EAAE,EAAE;YACf,gBAAgB,EAAE,CAAC;YACnB,iBAAiB,EAAE,CAAC;YACpB,oBAAoB,EAAE,CAAC;YACvB,iBAAiB,EAAE,CAAC;YACpB,kBAAkB,EAAE,CAAC;YACrB,mBAAmB,EAAE,CAAC;YACtB,MAAM,EAAE,EAAE;SACX,CAAC,CACH,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=hub.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hub.test.d.ts","sourceRoot":"","sources":["../../src/commands/hub.test.ts"],"names":[],"mappings":""}
@@ -1,62 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { deriveInviteURL, extractInviteToken, inviteDisplayID, resolveInviteReference, } from "./hub.js";
3
- describe("inviteDisplayID", () => {
4
- it("shortens invite IDs by default", () => {
5
- expect(inviteDisplayID("12345678-1234-1234-1234-123456789abc")).toBe("12345678");
6
- });
7
- it("shows full invite IDs in verbose mode", () => {
8
- expect(inviteDisplayID("12345678-1234-1234-1234-123456789abc", true)).toBe("12345678-1234-1234-1234-123456789abc");
9
- });
10
- });
11
- describe("deriveInviteURL", () => {
12
- it("maps localhost API to local web app", () => {
13
- expect(deriveInviteURL("tok", "http://localhost:8080")).toBe("http://localhost:3000/invite/tok");
14
- });
15
- it("strips api prefix for production", () => {
16
- expect(deriveInviteURL("tok", "https://api.memax.app")).toBe("https://memax.app/invite/tok");
17
- });
18
- it("maps staging-api to staging-app", () => {
19
- expect(deriveInviteURL("tok", "https://staging-api.memaxlabs.com")).toBe("https://staging-app.memaxlabs.com/invite/tok");
20
- });
21
- it("maps api- prefix to app- prefix", () => {
22
- expect(deriveInviteURL("tok", "https://api-staging.memaxlabs.com")).toBe("https://app-staging.memaxlabs.com/invite/tok");
23
- });
24
- });
25
- describe("extractInviteToken", () => {
26
- it("returns raw token unchanged", () => {
27
- expect(extractInviteToken("abc123")).toBe("abc123");
28
- });
29
- it("extracts token from invite URL", () => {
30
- expect(extractInviteToken("https://memax.app/invite/abc123")).toBe("abc123");
31
- });
32
- });
33
- describe("resolveInviteReference", () => {
34
- const invites = [
35
- {
36
- id: "12345678-1234-1234-1234-123456789abc",
37
- hub_id: "h1",
38
- token: "tok1",
39
- invited_by: "u1",
40
- role: "contributor",
41
- expires_at: "",
42
- created_at: "",
43
- },
44
- {
45
- id: "abcdef12-1234-1234-1234-123456789abc",
46
- hub_id: "h1",
47
- token: "tok2",
48
- invited_by: "u1",
49
- role: "viewer",
50
- expires_at: "",
51
- created_at: "",
52
- },
53
- ];
54
- it("resolves exact invite IDs", () => {
55
- expect(resolveInviteReference(invites, "12345678-1234-1234-1234-123456789abc")
56
- .id).toBe("12345678-1234-1234-1234-123456789abc");
57
- });
58
- it("resolves unique invite ID prefixes", () => {
59
- expect(resolveInviteReference(invites, "abcdef12").id).toBe("abcdef12-1234-1234-1234-123456789abc");
60
- });
61
- });
62
- //# sourceMappingURL=hub.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hub.test.js","sourceRoot":"","sources":["../../src/commands/hub.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=import.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"import.test.d.ts","sourceRoot":"","sources":["../../src/commands/import.test.ts"],"names":[],"mappings":""}
@@ -1,11 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { buildSyncSourcePath } from "./import.js";
3
- describe("buildSyncSourcePath", () => {
4
- it("uses the declared sync root rather than process cwd", () => {
5
- expect(buildSyncSourcePath("/workspaces/memax/docs", "/workspaces/memax/docs/adr/001.md")).toBe("adr/001.md");
6
- });
7
- it("rejects files outside the sync root", () => {
8
- expect(() => buildSyncSourcePath("/workspaces/memax/docs", "/workspaces/memax/README.md")).toThrow("file is outside sync root");
9
- });
10
- });
11
- //# sourceMappingURL=import.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"import.test.js","sourceRoot":"","sources":["../../src/commands/import.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,CACJ,mBAAmB,CACjB,wBAAwB,EACxB,mCAAmC,CACpC,CACF,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,CAAC,GAAG,EAAE,CACV,mBAAmB,CACjB,wBAAwB,EACxB,6BAA6B,CAC9B,CACF,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=list.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.test.d.ts","sourceRoot":"","sources":["../../src/commands/list.test.ts"],"names":[],"mappings":""}
@@ -1,20 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { buildNextPageCommand } from "./list.js";
3
- describe("buildNextPageCommand", () => {
4
- it("carries relevant options into the next-page command", () => {
5
- const cmd = buildNextPageCommand({
6
- sort: "relevant",
7
- limit: "50",
8
- hub: "team-hub",
9
- }, "12|2026-04-08T10:00:00Z");
10
- expect(cmd).toBe("memax list --sort relevant --limit 50 --hub team-hub --cursor '12|2026-04-08T10:00:00Z'");
11
- });
12
- it("preserves --topic-id across pages", () => {
13
- const cmd = buildNextPageCommand({
14
- hub: "team-hub",
15
- topicId: "01H9X0ABCDEF",
16
- }, "12|2026-04-08T10:00:00Z");
17
- expect(cmd).toBe("memax list --hub team-hub --topic-id 01H9X0ABCDEF --cursor '12|2026-04-08T10:00:00Z'");
18
- });
19
- });
20
- //# sourceMappingURL=list.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.test.js","sourceRoot":"","sources":["../../src/commands/list.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEjD,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,GAAG,GAAG,oBAAoB,CAC9B;YACE,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,IAAI;YACX,GAAG,EAAE,UAAU;SAChB,EACD,yBAAyB,CAC1B,CAAC;QAEF,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CACd,yFAAyF,CAC1F,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,GAAG,GAAG,oBAAoB,CAC9B;YACE,GAAG,EAAE,UAAU;YACf,OAAO,EAAE,cAAc;SACxB,EACD,yBAAyB,CAC1B,CAAC;QAEF,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CACd,sFAAsF,CACvF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=recall.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"recall.test.d.ts","sourceRoot":"","sources":["../../src/commands/recall.test.ts"],"names":[],"mappings":""}
@@ -1,31 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { hasMorePreviewLines, previewLines, renderMarkdownFragment, } from "./recall.js";
3
- describe("previewLines", () => {
4
- it("drops blank lines and preserves only the requested number of lines", () => {
5
- expect(previewLines("one\n\n two \n\nthree\nfour", 2)).toEqual([
6
- "one",
7
- " two",
8
- ]);
9
- });
10
- });
11
- describe("hasMorePreviewLines", () => {
12
- it("is true when there are more non-empty lines than the limit", () => {
13
- expect(hasMorePreviewLines("one\n\ntwo\nthree", 2)).toBe(true);
14
- });
15
- it("is false when the visible lines fit within the limit", () => {
16
- expect(hasMorePreviewLines("one\n\ntwo", 2)).toBe(false);
17
- });
18
- });
19
- describe("renderMarkdownFragment", () => {
20
- it("renders lightweight markdown fragments without requiring full document structure", () => {
21
- expect(renderMarkdownFragment("## Heading\n- item one\nRegular `code` text", {
22
- indent: " ",
23
- })).toEqual([" Heading", " • item one", " Regular code text"]);
24
- });
25
- it("ignores fenced code markers and renders the code lines", () => {
26
- expect(renderMarkdownFragment("```md\nconst x = 1;\n```", {
27
- indent: " ",
28
- })).toEqual([" const x = 1;"]);
29
- });
30
- });
31
- //# sourceMappingURL=recall.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"recall.test.js","sourceRoot":"","sources":["../../src/commands/recall.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAErB,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,MAAM,CAAC,YAAY,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAC7D,KAAK;YACL,MAAM;SACP,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,CAAC,mBAAmB,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,kFAAkF,EAAE,GAAG,EAAE;QAC1F,MAAM,CACJ,sBAAsB,CAAC,6CAA6C,EAAE;YACpE,MAAM,EAAE,MAAM;SACf,CAAC,CACH,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,gBAAgB,EAAE,uBAAuB,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,CACJ,sBAAsB,CAAC,0BAA0B,EAAE;YACjD,MAAM,EAAE,MAAM;SACf,CAAC,CACH,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=topic.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"topic.test.d.ts","sourceRoot":"","sources":["../../src/commands/topic.test.ts"],"names":[],"mappings":""}
@@ -1,114 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { buildTopicPathMap, flattenTopics, resolveTopicReference, topicDisplayCount, topicDisplayID, } from "./topic.js";
3
- describe("topicDisplayCount", () => {
4
- it("prefers subtree totals over direct counts", () => {
5
- expect(topicDisplayCount({ memory_count: 0, total_memory_count: 7 })).toBe(7);
6
- });
7
- it("falls back to direct count when subtree total is zero", () => {
8
- expect(topicDisplayCount({ memory_count: 3, total_memory_count: 0 })).toBe(0);
9
- });
10
- });
11
- describe("buildTopicPathMap", () => {
12
- it("builds slash-delimited topic paths from the tree", () => {
13
- const map = buildTopicPathMap([
14
- {
15
- id: "root",
16
- owner_id: "u1",
17
- hub_id: "h1",
18
- parent_id: null,
19
- name: "Engineering",
20
- description: "",
21
- icon: "folder",
22
- position: 0,
23
- pinned: false,
24
- user_modified: false,
25
- created_at: "",
26
- updated_at: "",
27
- memory_count: 1,
28
- total_memory_count: 2,
29
- kind_dots: [],
30
- children: [
31
- {
32
- id: "child",
33
- owner_id: "u1",
34
- hub_id: "h1",
35
- parent_id: "root",
36
- name: "Caching",
37
- description: "",
38
- icon: "folder",
39
- position: 0,
40
- pinned: false,
41
- user_modified: false,
42
- created_at: "",
43
- updated_at: "",
44
- memory_count: 1,
45
- total_memory_count: 1,
46
- kind_dots: [],
47
- children: [],
48
- },
49
- ],
50
- },
51
- ]);
52
- expect(map.get("root")).toBe("Engineering");
53
- expect(map.get("child")).toBe("Engineering / Caching");
54
- });
55
- });
56
- describe("topicDisplayID", () => {
57
- it("shortens IDs by default", () => {
58
- expect(topicDisplayID("12345678-1234-1234-1234-123456789abc")).toBe("12345678");
59
- });
60
- it("shows full IDs in verbose mode", () => {
61
- expect(topicDisplayID("12345678-1234-1234-1234-123456789abc", true)).toBe("12345678-1234-1234-1234-123456789abc");
62
- });
63
- });
64
- describe("resolveTopicReference", () => {
65
- const topics = [
66
- {
67
- id: "12345678-1234-1234-1234-123456789abc",
68
- owner_id: "u1",
69
- hub_id: "h1",
70
- parent_id: null,
71
- name: "Engineering",
72
- description: "",
73
- icon: "folder",
74
- position: 0,
75
- pinned: false,
76
- user_modified: false,
77
- created_at: "",
78
- updated_at: "",
79
- memory_count: 1,
80
- total_memory_count: 2,
81
- kind_dots: [],
82
- children: [
83
- {
84
- id: "abcdef12-1234-1234-1234-123456789abc",
85
- owner_id: "u1",
86
- hub_id: "h1",
87
- parent_id: "12345678-1234-1234-1234-123456789abc",
88
- name: "Caching",
89
- description: "",
90
- icon: "folder",
91
- position: 0,
92
- pinned: false,
93
- user_modified: false,
94
- created_at: "",
95
- updated_at: "",
96
- memory_count: 1,
97
- total_memory_count: 1,
98
- kind_dots: [],
99
- children: [],
100
- },
101
- ],
102
- },
103
- ];
104
- it("resolves exact IDs", () => {
105
- expect(resolveTopicReference(topics, "12345678-1234-1234-1234-123456789abc")).toBe("12345678-1234-1234-1234-123456789abc");
106
- });
107
- it("resolves unique ID prefixes", () => {
108
- expect(resolveTopicReference(topics, "abcdef12")).toBe("abcdef12-1234-1234-1234-123456789abc");
109
- });
110
- it("flattens nested topics for resolution", () => {
111
- expect(flattenTopics(topics)).toHaveLength(2);
112
- });
113
- });
114
- //# sourceMappingURL=topic.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"topic.test.js","sourceRoot":"","sources":["../../src/commands/topic.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=client.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.test.d.ts","sourceRoot":"","sources":["../../src/lib/client.test.ts"],"names":[],"mappings":""}
@@ -1,44 +0,0 @@
1
- import { beforeEach, describe, expect, it, vi } from "vitest";
2
- const state = vi.hoisted(() => ({
3
- accessToken: "user-token",
4
- refreshToken: "refresh-token",
5
- expiresAt: undefined,
6
- localAgentKeys: {},
7
- }));
8
- vi.mock("./config.js", () => ({
9
- loadConfig: () => ({ api_url: "http://localhost:8080" }),
10
- }));
11
- vi.mock("./credentials.js", () => ({
12
- loadCredentials: () => ({
13
- access_token: state.accessToken,
14
- refresh_token: state.refreshToken,
15
- expires_at: state.expiresAt,
16
- local_agent_keys: state.localAgentKeys,
17
- }),
18
- saveCredentials: vi.fn(),
19
- isTokenExpired: () => false,
20
- getLocalAgentKey: (agentID) => state.localAgentKeys[agentID],
21
- }));
22
- import { getAuthHeaders, resetClient, setClientAgent } from "./client.js";
23
- describe("client auth selection", () => {
24
- beforeEach(() => {
25
- state.accessToken = "user-token";
26
- state.refreshToken = "refresh-token";
27
- state.expiresAt = undefined;
28
- state.localAgentKeys = {};
29
- setClientAgent(undefined);
30
- resetClient();
31
- });
32
- it("prefers a stored local agent key when an agent-scoped CLI flow is active", async () => {
33
- state.localAgentKeys["claude-code"] = "mxk_agent_key";
34
- setClientAgent("claude-code");
35
- const headers = await getAuthHeaders();
36
- expect(headers.Authorization).toBe("Bearer mxk_agent_key");
37
- });
38
- it("falls back to the user token when no local agent key exists", async () => {
39
- setClientAgent("claude-code");
40
- const headers = await getAuthHeaders();
41
- expect(headers.Authorization).toBe("Bearer user-token");
42
- });
43
- });
44
- //# sourceMappingURL=client.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.test.js","sourceRoot":"","sources":["../../src/lib/client.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9D,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9B,WAAW,EAAE,YAAY;IACzB,YAAY,EAAE,eAAe;IAC7B,SAAS,EAAE,SAA+B;IAC1C,cAAc,EAAE,EAA4B;CAC7C,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5B,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;CACzD,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAC;IACjC,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;QACtB,YAAY,EAAE,KAAK,CAAC,WAAW;QAC/B,aAAa,EAAE,KAAK,CAAC,YAAY;QACjC,UAAU,EAAE,KAAK,CAAC,SAAS;QAC3B,gBAAgB,EAAE,KAAK,CAAC,cAAc;KACvC,CAAC;IACF,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;IACxB,cAAc,EAAE,GAAG,EAAE,CAAC,KAAK;IAC3B,gBAAgB,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC;CACrE,CAAC,CAAC,CAAC;AAEJ,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE1E,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,UAAU,CAAC,GAAG,EAAE;QACd,KAAK,CAAC,WAAW,GAAG,YAAY,CAAC;QACjC,KAAK,CAAC,YAAY,GAAG,eAAe,CAAC;QACrC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;QAC5B,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC;QAC1B,cAAc,CAAC,SAAS,CAAC,CAAC;QAC1B,WAAW,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;QACxF,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG,eAAe,CAAC;QAEtD,cAAc,CAAC,aAAa,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,cAAc,EAAE,CAAC;QAEvC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,cAAc,CAAC,aAAa,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,cAAc,EAAE,CAAC;QAEvC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=hubs.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hubs.test.d.ts","sourceRoot":"","sources":["../../src/lib/hubs.test.ts"],"names":[],"mappings":""}
@@ -1,58 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { findHubMatch, getHubReference, PERSONAL_HUB_ALIAS } from "./hubs.js";
3
- describe("getHubReference", () => {
4
- it("uses the reserved personal alias for personal hubs", () => {
5
- expect(getHubReference({
6
- id: "h1",
7
- name: "Personal",
8
- slug: "user-123",
9
- hub_type: "personal",
10
- owner_id: "u1",
11
- })).toBe(PERSONAL_HUB_ALIAS);
12
- });
13
- it("uses the real slug for team hubs", () => {
14
- expect(getHubReference({
15
- id: "h2",
16
- name: "Memax",
17
- slug: "memax",
18
- hub_type: "team",
19
- owner_id: "u1",
20
- })).toBe("memax");
21
- });
22
- });
23
- describe("findHubMatch", () => {
24
- const hubs = [
25
- {
26
- hub: {
27
- id: "personal-id",
28
- name: "Personal",
29
- slug: "user-123",
30
- hub_type: "personal",
31
- owner_id: "u1",
32
- },
33
- role: "owner",
34
- memory_count: 0,
35
- },
36
- {
37
- hub: {
38
- id: "team-id",
39
- name: "Memax",
40
- slug: "memax",
41
- hub_type: "team",
42
- owner_id: "u1",
43
- },
44
- role: "owner",
45
- memory_count: 0,
46
- },
47
- ];
48
- it("resolves the reserved personal alias to the personal hub", () => {
49
- expect(findHubMatch([...hubs], "personal")?.hub.id).toBe("personal-id");
50
- });
51
- it("matches team hubs by slug", () => {
52
- expect(findHubMatch([...hubs], "memax")?.hub.id).toBe("team-id");
53
- });
54
- it("matches hubs by id", () => {
55
- expect(findHubMatch([...hubs], "team-id")?.hub.slug).toBe("memax");
56
- });
57
- });
58
- //# sourceMappingURL=hubs.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hubs.test.js","sourceRoot":"","sources":["../../src/lib/hubs.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE9E,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,CACJ,eAAe,CAAC;YACd,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,IAAI;SACf,CAAC,CACH,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,CACJ,eAAe,CAAC;YACd,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,IAAI;SACf,CAAC,CACH,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,MAAM,IAAI,GAAG;QACX;YACE,GAAG,EAAE;gBACH,EAAE,EAAE,aAAa;gBACjB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,UAAU;gBACpB,QAAQ,EAAE,IAAI;aACf;YACD,IAAI,EAAE,OAAO;YACb,YAAY,EAAE,CAAC;SAChB;QACD;YACE,GAAG,EAAE;gBACH,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,MAAM;gBAChB,QAAQ,EAAE,IAAI;aACf;YACD,IAAI,EAAE,OAAO;YACb,YAAY,EAAE,CAAC;SAChB;KACO,CAAC;IAEX,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,UAAU,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=project-context.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project-context.test.d.ts","sourceRoot":"","sources":["../../src/lib/project-context.test.ts"],"names":[],"mappings":""}
@@ -1,75 +0,0 @@
1
- import { beforeEach, describe, expect, it, vi } from "vitest";
2
- const { execSync, existsSync, readFileSync } = vi.hoisted(() => ({
3
- execSync: vi.fn(),
4
- existsSync: vi.fn(),
5
- readFileSync: vi.fn(),
6
- }));
7
- vi.mock("node:child_process", () => ({
8
- execSync,
9
- }));
10
- vi.mock("node:fs", async () => {
11
- const actual = await vi.importActual("node:fs");
12
- return {
13
- ...actual,
14
- existsSync,
15
- readFileSync,
16
- };
17
- });
18
- import { getProjectScope, normalizeRepoUrl, readMemaxYmlConfig, readMemaxYmlHub, resolveProjectScope, } from "./project-context.js";
19
- describe("normalizeRepoUrl", () => {
20
- it("normalizes common git remote forms", () => {
21
- expect(normalizeRepoUrl("https://github.com/MemaxLabs/memax.git")).toBe("github.com/memaxlabs/memax");
22
- expect(normalizeRepoUrl("git@github.com:MemaxLabs/memax.git")).toBe("github.com/memaxlabs/memax");
23
- expect(normalizeRepoUrl("ssh://git@github.com/MemaxLabs/memax")).toBe("github.com/memaxlabs/memax");
24
- });
25
- });
26
- describe("getProjectScope", () => {
27
- beforeEach(() => {
28
- execSync.mockReset();
29
- existsSync.mockReset();
30
- readFileSync.mockReset();
31
- existsSync.mockReturnValue(false);
32
- });
33
- it("uses the normalized origin remote when present", () => {
34
- execSync.mockReturnValueOnce("git@github.com:MemaxLabs/memax.git\n");
35
- expect(getProjectScope("/workspaces/memax")).toBe("project:github.com/memaxlabs/memax");
36
- });
37
- it("returns generic project scope when there is no canonical remote", () => {
38
- execSync.mockImplementation(() => {
39
- throw new Error("no remote");
40
- });
41
- expect(getProjectScope("/workspaces/memax")).toBe("project");
42
- });
43
- it("uses .memax.yml project_id as an explicit override", () => {
44
- existsSync.mockImplementation((path) => path.endsWith(".memax.yml"));
45
- readFileSync.mockReturnValue("project_id: Acme.Internal/Payments-API\n");
46
- expect(getProjectScope("/workspaces/memax")).toBe("project:acme.internal/payments-api");
47
- });
48
- it("reports when .memax.yml project_id overrides git origin", () => {
49
- existsSync.mockImplementation((path) => path.endsWith(".memax.yml"));
50
- readFileSync.mockReturnValue("project_id: github.com/acme/override\n");
51
- execSync.mockReturnValueOnce("git@github.com:MemaxLabs/memax.git\n");
52
- expect(resolveProjectScope("/workspaces/memax")).toEqual({
53
- scope: "project:github.com/acme/override",
54
- source: "memax_yml",
55
- warning: ".memax.yml project_id (github.com/acme/override) overrides git origin (github.com/memaxlabs/memax)",
56
- });
57
- });
58
- });
59
- describe("readMemaxYmlConfig", () => {
60
- beforeEach(() => {
61
- existsSync.mockReset();
62
- readFileSync.mockReset();
63
- existsSync.mockReturnValue(false);
64
- });
65
- it("parses hub and project_id from .memax.yml", () => {
66
- existsSync.mockImplementation((path) => path.endsWith(".memax.yml"));
67
- readFileSync.mockReturnValue("hub: team-backend\nproject_id: github.com/MemaxLabs/memax\n");
68
- expect(readMemaxYmlConfig("/workspaces/memax")).toEqual({
69
- hub: "team-backend",
70
- project_id: "github.com/memaxlabs/memax",
71
- });
72
- expect(readMemaxYmlHub()).toBe("team-backend");
73
- });
74
- });
75
- //# sourceMappingURL=project-context.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project-context.test.js","sourceRoot":"","sources":["../../src/lib/project-context.test.ts"],"names":[],"mappings":"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"}