@mneme-ai/core 2.13.0 → 2.14.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 (61) hide show
  1. package/dist/agent_manifest.d.ts +1 -1
  2. package/dist/agent_manifest.d.ts.map +1 -1
  3. package/dist/agent_manifest.js +22 -1
  4. package/dist/agent_manifest.js.map +1 -1
  5. package/dist/bounty/bounty.test.d.ts +2 -0
  6. package/dist/bounty/bounty.test.d.ts.map +1 -0
  7. package/dist/bounty/bounty.test.js +125 -0
  8. package/dist/bounty/bounty.test.js.map +1 -0
  9. package/dist/bounty/index.d.ts +142 -0
  10. package/dist/bounty/index.d.ts.map +1 -0
  11. package/dist/bounty/index.js +180 -0
  12. package/dist/bounty/index.js.map +1 -0
  13. package/dist/cosmic/aurelian_v214.test.d.ts +9 -0
  14. package/dist/cosmic/aurelian_v214.test.d.ts.map +1 -0
  15. package/dist/cosmic/aurelian_v214.test.js +84 -0
  16. package/dist/cosmic/aurelian_v214.test.js.map +1 -0
  17. package/dist/cosmic/choir.d.ts +8 -0
  18. package/dist/cosmic/choir.d.ts.map +1 -1
  19. package/dist/cosmic/choir.js +14 -1
  20. package/dist/cosmic/choir.js.map +1 -1
  21. package/dist/cosmic/index.d.ts +15 -4
  22. package/dist/cosmic/index.d.ts.map +1 -1
  23. package/dist/cosmic/index.js +17 -3
  24. package/dist/cosmic/index.js.map +1 -1
  25. package/dist/index.d.ts +5 -0
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +6 -0
  28. package/dist/index.js.map +1 -1
  29. package/dist/infra_brain/index.d.ts +148 -0
  30. package/dist/infra_brain/index.d.ts.map +1 -0
  31. package/dist/infra_brain/index.js +243 -0
  32. package/dist/infra_brain/index.js.map +1 -0
  33. package/dist/infra_brain/infra_brain.test.d.ts +2 -0
  34. package/dist/infra_brain/infra_brain.test.d.ts.map +1 -0
  35. package/dist/infra_brain/infra_brain.test.js +154 -0
  36. package/dist/infra_brain/infra_brain.test.js.map +1 -0
  37. package/dist/kill_switch/index.d.ts +168 -0
  38. package/dist/kill_switch/index.d.ts.map +1 -0
  39. package/dist/kill_switch/index.js +285 -0
  40. package/dist/kill_switch/index.js.map +1 -0
  41. package/dist/kill_switch/kill_switch.test.d.ts +2 -0
  42. package/dist/kill_switch/kill_switch.test.d.ts.map +1 -0
  43. package/dist/kill_switch/kill_switch.test.js +154 -0
  44. package/dist/kill_switch/kill_switch.test.js.map +1 -0
  45. package/dist/project_soul/index.d.ts +123 -0
  46. package/dist/project_soul/index.d.ts.map +1 -0
  47. package/dist/project_soul/index.js +241 -0
  48. package/dist/project_soul/index.js.map +1 -0
  49. package/dist/project_soul/project_soul.test.d.ts +2 -0
  50. package/dist/project_soul/project_soul.test.d.ts.map +1 -0
  51. package/dist/project_soul/project_soul.test.js +123 -0
  52. package/dist/project_soul/project_soul.test.js.map +1 -0
  53. package/dist/replica/index.d.ts +105 -0
  54. package/dist/replica/index.d.ts.map +1 -0
  55. package/dist/replica/index.js +206 -0
  56. package/dist/replica/index.js.map +1 -0
  57. package/dist/replica/replica.test.d.ts +2 -0
  58. package/dist/replica/replica.test.d.ts.map +1 -0
  59. package/dist/replica/replica.test.js +102 -0
  60. package/dist/replica/replica.test.js.map +1 -0
  61. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infra_brain.test.js","sourceRoot":"","sources":["../../src/infra_brain/infra_brain.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACL,iBAAiB,EAAE,iBAAiB,EAAE,cAAc,EACpD,YAAY,EAAE,YAAY,EAAE,YAAY,EACxC,QAAQ,EAAE,eAAe,GAC1B,MAAM,YAAY,CAAC;AAEpB,QAAQ,CAAC,qDAAqD,EAAE,GAAG,EAAE;IACnE,IAAI,GAAW,CAAC;IAChB,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,SAAS,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QAAC,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC,CAAC;IAErF,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;YAChD,MAAM,CAAC,GAAG,iBAAiB,CAAC;gBAC1B,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,cAAc;gBAChD,MAAM,EAAE,oBAAoB;gBAC5B,MAAM,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC3D,OAAO,EAAE,GAAG;aACb,CAAC,CAAC;YACH,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5B,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YACxC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,MAAM,CAAC,GAAG,iBAAiB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YACjG,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,MAAM,CAAC,GAAG,iBAAiB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YACjG,MAAM,QAAQ,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;YAC9C,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3B,iBAAiB,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7G,CAAC;YACD,MAAM,QAAQ,GAAG,cAAc,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAClD,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,gBAAgB,CAAC,CAAC;YAC/D,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACxB,MAAM,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,iBAAiB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAC1F,MAAM,QAAQ,GAAG,cAAc,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAClD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,8CAA8C;YAC9C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,GAAG,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7B,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;gBACjC,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;gBACjF,qDAAqD;gBACrD,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAC;gBACrF,8CAA8C;gBAC9C,IAAI,GAAG,KAAK,CAAC;oBAAE,iBAAiB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC9F,MAAM,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC/D,mBAAmB;gBACnB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjC,MAAM,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,OAAO,GAAG,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;gBAC3E,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;YAC5D,CAAC;YACD,MAAM,QAAQ,GAAG,cAAc,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAClD,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,YAAY,CAAC,CAAC;YAC3D,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YAChC,MAAM,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAAE,iBAAiB,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAC1H,MAAM,CAAC,GAAG,YAAY,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YACzC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,CAAC,GAAG,YAAY,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YACzC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,CAAC,GAAG,YAAY,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YACzC,MAAM,QAAQ,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC1C,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,uBAAuB;YACvB,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;YACpD,IAAI,CAAC;gBACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;oBAAE,iBAAiB,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBACjI,MAAM,CAAC,GAAG,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC1C,uCAAuC;gBACvC,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC5C,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC9B,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;gBAC7C,qDAAqD;gBACrD,MAAM,QAAQ,GAAG,cAAc,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAClD,0FAA0F;gBAC1F,yDAAyD;gBACzD,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAC;gBACrF,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAC9C,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACpC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;YAC/C,CAAC;oBAAS,CAAC;gBAAC,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,CAAC,GAAG,YAAY,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YACzC,MAAM,QAAQ,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC1C,MAAM,CAAC,GAAG,YAAY,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YACnD,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,iBAAiB,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,wCAAwC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YACpI,iBAAiB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,oBAAoB,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAC3G,MAAM,CAAC,GAAG,QAAQ,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,kCAAkC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAC1G,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;YAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3B,iBAAiB,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7G,CAAC;YACD,MAAM,CAAC,GAAG,QAAQ,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,sBAAsB,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAChG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YACnC,MAAM,CAAC,CAAC,CAAC,SAAU,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,MAAM,CAAC,GAAG,QAAQ,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YACzF,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,iBAAiB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAC/E,MAAM,IAAI,GAAG,eAAe,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,168 @@
1
+ /**
2
+ * v2.14.0 — KILL SWITCH PROTOCOL
3
+ *
4
+ * "Three things every CISO loses sleep over:
5
+ * 1. AI hallucinates → costly decision → lawsuit
6
+ * 2. AI vendor changes pricing/TOS → migration nightmare
7
+ * 3. AI exfiltrates secrets/PII → data breach
8
+ * Mneme answers all three with one bundle."
9
+ *
10
+ * Three layered defenses, each HMAC-signed for court-admissible audit:
11
+ *
12
+ * 1. KILL SWITCH — admin-issued signed directive that, when broadcast,
13
+ * tells every Mneme-aware AI agent to refuse to respond. Stamped
14
+ * with HMAC; receivers verify before honouring (so attackers can't
15
+ * forge a kill).
16
+ *
17
+ * 2. AUDIT LOG — every AI interaction is recorded with HMAC chain
18
+ * (similar to BOUNTY's structure but broader scope: prompts,
19
+ * responses, file accesses, tool calls). Tamper-evident.
20
+ *
21
+ * 3. DLP (Data Leakage Prevention) — scan outbound AI prompts /
22
+ * responses for secrets / PII patterns BEFORE they leave the org.
23
+ * Block + log violations.
24
+ *
25
+ * Storage: `.mneme/compliance/` directory:
26
+ * - kill_switch.json — current state of the kill directive
27
+ * - audit.jsonl — append-only audit chain
28
+ * - dlp_rules.json — current rule set (org can override defaults)
29
+ *
30
+ * Composes orthogonally with existing `aegis/` (immune system) and
31
+ * `ai_compliance.ts` (compliance metrics) — those measure; KILL SWITCH
32
+ * acts.
33
+ */
34
+ declare const PROTOCOL_VERSION: 1;
35
+ export interface KillSwitchDirective {
36
+ v: typeof PROTOCOL_VERSION;
37
+ /** "active" = refuse all AI. "scoped" = refuse for specific tags. "off" = normal. */
38
+ state: "active" | "scoped" | "off";
39
+ /** Free-form reason for the kill. */
40
+ reason: string;
41
+ /** Issuer identity (e.g., "ciso@company.com"). */
42
+ issuedBy: string;
43
+ issuedAt: string;
44
+ /** Optional scopes — when state="scoped", only these vendors / tags are killed. */
45
+ scopes?: {
46
+ vendors?: string[];
47
+ tags?: string[];
48
+ };
49
+ /** Optional expiry — auto-clears at this time. */
50
+ expiresAt?: string;
51
+ /** HMAC over the directive body. */
52
+ sig: string;
53
+ }
54
+ export interface IssueKillInput {
55
+ state: "active" | "scoped" | "off";
56
+ reason: string;
57
+ issuedBy: string;
58
+ scopes?: KillSwitchDirective["scopes"];
59
+ expiresAt?: string;
60
+ repoDir?: string;
61
+ secret?: string;
62
+ }
63
+ export declare function issueKillSwitch(input: IssueKillInput): KillSwitchDirective;
64
+ export declare function readKillSwitch(opts?: {
65
+ repoDir?: string;
66
+ }): KillSwitchDirective | null;
67
+ export declare function verifyKillSwitch(d: KillSwitchDirective, secret?: string): {
68
+ ok: boolean;
69
+ reason?: string;
70
+ };
71
+ export interface ShouldRespondInput {
72
+ vendor?: string;
73
+ tags?: string[];
74
+ repoDir?: string;
75
+ secret?: string;
76
+ }
77
+ /**
78
+ * The runtime check. Mneme-aware AI clients call this before every
79
+ * response. If kill switch is active (or scoped to them), they MUST
80
+ * refuse. Returns an instruction to embed in the refusal.
81
+ */
82
+ export declare function shouldRespond(input?: ShouldRespondInput): {
83
+ allowed: boolean;
84
+ reason?: string;
85
+ killDirective?: KillSwitchDirective;
86
+ };
87
+ export interface AuditEntry {
88
+ v: typeof PROTOCOL_VERSION;
89
+ id: string;
90
+ ts: string;
91
+ kind: "prompt" | "response" | "tool_call" | "file_read" | "kill_switch" | "dlp_block" | "other";
92
+ actor: string;
93
+ detail: string;
94
+ /** Optional metadata (vendor, tool name, hash of content, etc). */
95
+ meta?: Record<string, string | number | boolean>;
96
+ /** chainSig = HMAC(prev.chainSig + canonical(this)). */
97
+ chainSig: string;
98
+ }
99
+ export interface RecordAuditInput {
100
+ kind: AuditEntry["kind"];
101
+ actor: string;
102
+ detail: string;
103
+ meta?: AuditEntry["meta"];
104
+ repoDir?: string;
105
+ secret?: string;
106
+ }
107
+ export declare function recordAudit(input: RecordAuditInput): AuditEntry;
108
+ export declare function verifyAuditChain(opts?: {
109
+ repoDir?: string;
110
+ secret?: string;
111
+ }): {
112
+ ok: boolean;
113
+ total: number;
114
+ brokenIndex: number;
115
+ brokenReason?: string;
116
+ };
117
+ /** Export the audit log for compliance reporting (CISO weekly etc). */
118
+ export declare function exportAuditReport(opts?: {
119
+ repoDir?: string;
120
+ since?: string;
121
+ }): {
122
+ entries: AuditEntry[];
123
+ total: number;
124
+ byKind: Record<string, number>;
125
+ byActor: Record<string, number>;
126
+ generatedAt: string;
127
+ chainOk: boolean;
128
+ };
129
+ export interface DlpRule {
130
+ id: string;
131
+ pattern: string;
132
+ flags?: string;
133
+ severity: "warn" | "block";
134
+ category: "secret" | "pii" | "credential" | "internal" | "other";
135
+ description: string;
136
+ }
137
+ export interface DlpScanResult {
138
+ hits: Array<{
139
+ ruleId: string;
140
+ category: DlpRule["category"];
141
+ severity: "warn" | "block";
142
+ match: string;
143
+ description: string;
144
+ }>;
145
+ worstSeverity: "none" | "warn" | "block";
146
+ blocked: boolean;
147
+ scanned: number;
148
+ signedAt: string;
149
+ sig: string;
150
+ }
151
+ export declare function loadDlpRules(opts?: {
152
+ repoDir?: string;
153
+ }): DlpRule[];
154
+ /**
155
+ * Scan a string for DLP violations. Returns hits + verdict. Calls
156
+ * recordAudit("dlp_block") when blocking — court-admissible trace.
157
+ */
158
+ export declare function dlpScan(text: string, opts?: {
159
+ repoDir?: string;
160
+ actor?: string;
161
+ secret?: string;
162
+ }): DlpScanResult;
163
+ /** One-line pulse summary. */
164
+ export declare function formatCompliancePulse(opts?: {
165
+ repoDir?: string;
166
+ }): string;
167
+ export {};
168
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/kill_switch/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,285 @@
1
+ /**
2
+ * v2.14.0 — KILL SWITCH PROTOCOL
3
+ *
4
+ * "Three things every CISO loses sleep over:
5
+ * 1. AI hallucinates → costly decision → lawsuit
6
+ * 2. AI vendor changes pricing/TOS → migration nightmare
7
+ * 3. AI exfiltrates secrets/PII → data breach
8
+ * Mneme answers all three with one bundle."
9
+ *
10
+ * Three layered defenses, each HMAC-signed for court-admissible audit:
11
+ *
12
+ * 1. KILL SWITCH — admin-issued signed directive that, when broadcast,
13
+ * tells every Mneme-aware AI agent to refuse to respond. Stamped
14
+ * with HMAC; receivers verify before honouring (so attackers can't
15
+ * forge a kill).
16
+ *
17
+ * 2. AUDIT LOG — every AI interaction is recorded with HMAC chain
18
+ * (similar to BOUNTY's structure but broader scope: prompts,
19
+ * responses, file accesses, tool calls). Tamper-evident.
20
+ *
21
+ * 3. DLP (Data Leakage Prevention) — scan outbound AI prompts /
22
+ * responses for secrets / PII patterns BEFORE they leave the org.
23
+ * Block + log violations.
24
+ *
25
+ * Storage: `.mneme/compliance/` directory:
26
+ * - kill_switch.json — current state of the kill directive
27
+ * - audit.jsonl — append-only audit chain
28
+ * - dlp_rules.json — current rule set (org can override defaults)
29
+ *
30
+ * Composes orthogonally with existing `aegis/` (immune system) and
31
+ * `ai_compliance.ts` (compliance metrics) — those measure; KILL SWITCH
32
+ * acts.
33
+ */
34
+ import { createHmac, timingSafeEqual, randomBytes } from "node:crypto";
35
+ import { readFileSync, writeFileSync, existsSync, mkdirSync, appendFileSync } from "node:fs";
36
+ import { join, resolve, isAbsolute } from "node:path";
37
+ const PROTOCOL_VERSION = 1;
38
+ function canon(v) {
39
+ if (v === null || typeof v !== "object")
40
+ return JSON.stringify(v);
41
+ if (Array.isArray(v))
42
+ return "[" + v.map(canon).join(",") + "]";
43
+ const keys = Object.keys(v).sort();
44
+ return "{" + keys.map((k) => JSON.stringify(k) + ":" + canon(v[k])).join(",") + "}";
45
+ }
46
+ function defaultSecret() {
47
+ return process.env["MNEME_COMPLIANCE_SECRET"] || `mneme-compliance-v${PROTOCOL_VERSION}`;
48
+ }
49
+ function complianceDir(repoDir) {
50
+ const root = repoDir ? (isAbsolute(repoDir) ? repoDir : resolve(repoDir)) : process.cwd();
51
+ const dir = join(root, ".mneme", "compliance");
52
+ if (!existsSync(dir))
53
+ mkdirSync(dir, { recursive: true });
54
+ return dir;
55
+ }
56
+ function signDirective(body, secret) {
57
+ return createHmac("sha256", secret).update(canon(body)).digest("hex");
58
+ }
59
+ export function issueKillSwitch(input) {
60
+ const dir = complianceDir(input.repoDir);
61
+ const noSig = {
62
+ v: PROTOCOL_VERSION,
63
+ state: input.state,
64
+ reason: input.reason.slice(0, 1000),
65
+ issuedBy: input.issuedBy,
66
+ issuedAt: new Date().toISOString(),
67
+ ...(input.scopes ? { scopes: input.scopes } : {}),
68
+ ...(input.expiresAt ? { expiresAt: input.expiresAt } : {}),
69
+ };
70
+ const directive = { ...noSig, sig: signDirective(noSig, input.secret ?? defaultSecret()) };
71
+ writeFileSync(join(dir, "kill_switch.json"), JSON.stringify(directive, null, 2));
72
+ recordAudit({
73
+ kind: "kill_switch",
74
+ actor: input.issuedBy,
75
+ detail: `kill switch ${input.state}: ${input.reason}`,
76
+ repoDir: input.repoDir,
77
+ secret: input.secret,
78
+ });
79
+ return directive;
80
+ }
81
+ export function readKillSwitch(opts = {}) {
82
+ const path = join(complianceDir(opts.repoDir), "kill_switch.json");
83
+ if (!existsSync(path))
84
+ return null;
85
+ try {
86
+ return JSON.parse(readFileSync(path, "utf8"));
87
+ }
88
+ catch {
89
+ return null;
90
+ }
91
+ }
92
+ export function verifyKillSwitch(d, secret) {
93
+ const { sig: claimed, ...body } = d;
94
+ const expected = signDirective(body, secret ?? defaultSecret());
95
+ try {
96
+ const ok = timingSafeEqual(Buffer.from(expected, "hex"), Buffer.from(claimed, "hex"));
97
+ return ok ? { ok: true } : { ok: false, reason: "directive sig mismatch — forged or tampered" };
98
+ }
99
+ catch {
100
+ return { ok: false, reason: "directive sig length invalid" };
101
+ }
102
+ }
103
+ /**
104
+ * The runtime check. Mneme-aware AI clients call this before every
105
+ * response. If kill switch is active (or scoped to them), they MUST
106
+ * refuse. Returns an instruction to embed in the refusal.
107
+ */
108
+ export function shouldRespond(input = {}) {
109
+ const d = readKillSwitch({ repoDir: input.repoDir });
110
+ if (!d)
111
+ return { allowed: true };
112
+ // Verify before honouring (so attackers can't forge a kill).
113
+ const v = verifyKillSwitch(d, input.secret);
114
+ if (!v.ok)
115
+ return { allowed: true, reason: `ignoring unverified directive: ${v.reason}` };
116
+ // Check expiry.
117
+ if (d.expiresAt && new Date(d.expiresAt).getTime() < Date.now())
118
+ return { allowed: true };
119
+ if (d.state === "off")
120
+ return { allowed: true };
121
+ if (d.state === "active")
122
+ return { allowed: false, reason: d.reason, killDirective: d };
123
+ if (d.state === "scoped" && d.scopes) {
124
+ if (input.vendor && d.scopes.vendors?.includes(input.vendor))
125
+ return { allowed: false, reason: d.reason, killDirective: d };
126
+ if (input.tags && d.scopes.tags?.some((t) => input.tags.includes(t)))
127
+ return { allowed: false, reason: d.reason, killDirective: d };
128
+ }
129
+ return { allowed: true };
130
+ }
131
+ function auditPath(repoDir) {
132
+ return join(complianceDir(repoDir), "audit.jsonl");
133
+ }
134
+ function readAudit(repoDir) {
135
+ const p = auditPath(repoDir);
136
+ if (!existsSync(p))
137
+ return [];
138
+ const lines = readFileSync(p, "utf8").split(/\r?\n/).filter((l) => l.trim().length > 0);
139
+ const out = [];
140
+ for (const l of lines) {
141
+ try {
142
+ out.push(JSON.parse(l));
143
+ }
144
+ catch { }
145
+ }
146
+ return out;
147
+ }
148
+ function lastChain(repoDir) {
149
+ const all = readAudit(repoDir);
150
+ return all.length === 0 ? "" : all[all.length - 1].chainSig;
151
+ }
152
+ export function recordAudit(input) {
153
+ const prev = lastChain(input.repoDir);
154
+ const noSig = {
155
+ v: PROTOCOL_VERSION,
156
+ id: "a-" + randomBytes(6).toString("hex"),
157
+ ts: new Date().toISOString(),
158
+ kind: input.kind,
159
+ actor: input.actor,
160
+ detail: input.detail.slice(0, 2000),
161
+ ...(input.meta ? { meta: input.meta } : {}),
162
+ };
163
+ const sig = createHmac("sha256", input.secret ?? defaultSecret())
164
+ .update(prev + canon(noSig)).digest("hex");
165
+ const entry = { ...noSig, chainSig: sig };
166
+ appendFileSync(auditPath(input.repoDir), JSON.stringify(entry) + "\n");
167
+ return entry;
168
+ }
169
+ export function verifyAuditChain(opts = {}) {
170
+ const all = readAudit(opts.repoDir);
171
+ const sec = opts.secret ?? defaultSecret();
172
+ let prev = "";
173
+ for (let i = 0; i < all.length; i++) {
174
+ const { chainSig: claimed, ...body } = all[i];
175
+ const expected = createHmac("sha256", sec).update(prev + canon(body)).digest("hex");
176
+ if (expected !== claimed)
177
+ return { ok: false, total: all.length, brokenIndex: i, brokenReason: `chainSig mismatch at ${i}` };
178
+ prev = claimed;
179
+ }
180
+ return { ok: true, total: all.length, brokenIndex: -1 };
181
+ }
182
+ /** Export the audit log for compliance reporting (CISO weekly etc). */
183
+ export function exportAuditReport(opts = {}) {
184
+ const all = readAudit(opts.repoDir);
185
+ const since = opts.since ? new Date(opts.since).getTime() : 0;
186
+ const filtered = all.filter((e) => new Date(e.ts).getTime() >= since);
187
+ const byKind = {};
188
+ const byActor = {};
189
+ for (const e of filtered) {
190
+ byKind[e.kind] = (byKind[e.kind] ?? 0) + 1;
191
+ byActor[e.actor] = (byActor[e.actor] ?? 0) + 1;
192
+ }
193
+ const chain = verifyAuditChain({ repoDir: opts.repoDir });
194
+ return {
195
+ entries: filtered,
196
+ total: filtered.length,
197
+ byKind, byActor,
198
+ generatedAt: new Date().toISOString(),
199
+ chainOk: chain.ok,
200
+ };
201
+ }
202
+ const BUILTIN_RULES = [
203
+ { id: "aws-access-key", pattern: "AKIA[0-9A-Z]{16}", flags: "g", severity: "block", category: "secret", description: "AWS Access Key ID" },
204
+ { id: "aws-secret-key", pattern: "(?<![A-Za-z0-9])[A-Za-z0-9/+=]{40}(?![A-Za-z0-9])", flags: "g", severity: "warn", category: "secret", description: "AWS Secret Access Key (heuristic; high FP rate)" },
205
+ { id: "github-pat", pattern: "ghp_[A-Za-z0-9]{36,}", flags: "g", severity: "block", category: "credential", description: "GitHub PAT" },
206
+ { id: "openai-key", pattern: "sk-[A-Za-z0-9]{20,}", flags: "g", severity: "block", category: "credential", description: "OpenAI / Anthropic / generic sk- API key" },
207
+ { id: "private-key", pattern: "-----BEGIN (?:RSA |EC |DSA |OPENSSH |PGP )?PRIVATE KEY-----", flags: "g", severity: "block", category: "secret", description: "PEM private key block" },
208
+ { id: "jwt", pattern: "eyJ[A-Za-z0-9_-]+\\.eyJ[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+", flags: "g", severity: "warn", category: "credential", description: "JWT (base64 3-part)" },
209
+ { id: "email", pattern: "[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}", flags: "g", severity: "warn", category: "pii", description: "email address" },
210
+ { id: "credit-card", pattern: "\\b(?:\\d[ -]?){13,19}\\b", flags: "g", severity: "block", category: "pii", description: "credit card number (Luhn not checked here)" },
211
+ { id: "thai-id", pattern: "\\b\\d{1}[ -]?\\d{4}[ -]?\\d{5}[ -]?\\d{2}[ -]?\\d{1}\\b", flags: "g", severity: "block", category: "pii", description: "Thai national ID number" },
212
+ ];
213
+ export function loadDlpRules(opts = {}) {
214
+ const root = opts.repoDir ? resolveOrCwd(opts.repoDir) : process.cwd();
215
+ const path = join(root, ".mneme", "compliance", "dlp_rules.json");
216
+ if (existsSync(path)) {
217
+ try {
218
+ const custom = JSON.parse(readFileSync(path, "utf8"));
219
+ return [...BUILTIN_RULES, ...(custom.rules ?? [])];
220
+ }
221
+ catch { /* fall through to builtin only */ }
222
+ }
223
+ return [...BUILTIN_RULES];
224
+ }
225
+ function resolveOrCwd(p) {
226
+ return isAbsolute(p) ? p : resolve(p);
227
+ }
228
+ /**
229
+ * Scan a string for DLP violations. Returns hits + verdict. Calls
230
+ * recordAudit("dlp_block") when blocking — court-admissible trace.
231
+ */
232
+ export function dlpScan(text, opts = {}) {
233
+ const rules = loadDlpRules(opts);
234
+ const hits = [];
235
+ for (const rule of rules) {
236
+ try {
237
+ const re = new RegExp(rule.pattern, rule.flags ?? "");
238
+ const matches = text.match(re);
239
+ if (matches) {
240
+ for (const m of matches.slice(0, 5)) {
241
+ hits.push({
242
+ ruleId: rule.id,
243
+ category: rule.category,
244
+ severity: rule.severity,
245
+ match: m.length > 60 ? m.slice(0, 30) + "…" + m.slice(-20) : m,
246
+ description: rule.description,
247
+ });
248
+ }
249
+ }
250
+ }
251
+ catch { /* malformed user rule — skip */ }
252
+ }
253
+ let worst = "none";
254
+ for (const h of hits) {
255
+ if (h.severity === "block") {
256
+ worst = "block";
257
+ break;
258
+ }
259
+ if (h.severity === "warn")
260
+ worst = "warn";
261
+ }
262
+ const blocked = worst === "block";
263
+ const signedAt = new Date().toISOString();
264
+ const body = { hits: hits.length, worst, blocked, scanned: text.length, signedAt };
265
+ const sig = createHmac("sha256", opts.secret ?? defaultSecret()).update(canon(body)).digest("hex");
266
+ if (blocked) {
267
+ recordAudit({
268
+ kind: "dlp_block",
269
+ actor: opts.actor ?? "unknown",
270
+ detail: `DLP blocked: ${hits.filter((h) => h.severity === "block").map((h) => h.ruleId).join(",")}`,
271
+ meta: { hitCount: hits.length },
272
+ repoDir: opts.repoDir,
273
+ secret: opts.secret,
274
+ });
275
+ }
276
+ return { hits, worstSeverity: worst, blocked, scanned: text.length, signedAt, sig };
277
+ }
278
+ /** One-line pulse summary. */
279
+ export function formatCompliancePulse(opts = {}) {
280
+ const k = readKillSwitch(opts);
281
+ const audit = readAudit(opts.repoDir);
282
+ const killTag = k ? `kill=${k.state}` : "kill=off";
283
+ return `COMPLIANCE · ${killTag} · audit=${audit.length}`;
284
+ }
285
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/kill_switch/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=kill_switch.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kill_switch.test.d.ts","sourceRoot":"","sources":["../../src/kill_switch/kill_switch.test.ts"],"names":[],"mappings":""}