@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.
- package/dist/agent_manifest.d.ts +1 -1
- package/dist/agent_manifest.d.ts.map +1 -1
- package/dist/agent_manifest.js +22 -1
- package/dist/agent_manifest.js.map +1 -1
- package/dist/bounty/bounty.test.d.ts +2 -0
- package/dist/bounty/bounty.test.d.ts.map +1 -0
- package/dist/bounty/bounty.test.js +125 -0
- package/dist/bounty/bounty.test.js.map +1 -0
- package/dist/bounty/index.d.ts +142 -0
- package/dist/bounty/index.d.ts.map +1 -0
- package/dist/bounty/index.js +180 -0
- package/dist/bounty/index.js.map +1 -0
- package/dist/cosmic/aurelian_v214.test.d.ts +9 -0
- package/dist/cosmic/aurelian_v214.test.d.ts.map +1 -0
- package/dist/cosmic/aurelian_v214.test.js +84 -0
- package/dist/cosmic/aurelian_v214.test.js.map +1 -0
- package/dist/cosmic/choir.d.ts +8 -0
- package/dist/cosmic/choir.d.ts.map +1 -1
- package/dist/cosmic/choir.js +14 -1
- package/dist/cosmic/choir.js.map +1 -1
- package/dist/cosmic/index.d.ts +15 -4
- package/dist/cosmic/index.d.ts.map +1 -1
- package/dist/cosmic/index.js +17 -3
- package/dist/cosmic/index.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/infra_brain/index.d.ts +148 -0
- package/dist/infra_brain/index.d.ts.map +1 -0
- package/dist/infra_brain/index.js +243 -0
- package/dist/infra_brain/index.js.map +1 -0
- package/dist/infra_brain/infra_brain.test.d.ts +2 -0
- package/dist/infra_brain/infra_brain.test.d.ts.map +1 -0
- package/dist/infra_brain/infra_brain.test.js +154 -0
- package/dist/infra_brain/infra_brain.test.js.map +1 -0
- package/dist/kill_switch/index.d.ts +168 -0
- package/dist/kill_switch/index.d.ts.map +1 -0
- package/dist/kill_switch/index.js +285 -0
- package/dist/kill_switch/index.js.map +1 -0
- package/dist/kill_switch/kill_switch.test.d.ts +2 -0
- package/dist/kill_switch/kill_switch.test.d.ts.map +1 -0
- package/dist/kill_switch/kill_switch.test.js +154 -0
- package/dist/kill_switch/kill_switch.test.js.map +1 -0
- package/dist/project_soul/index.d.ts +123 -0
- package/dist/project_soul/index.d.ts.map +1 -0
- package/dist/project_soul/index.js +241 -0
- package/dist/project_soul/index.js.map +1 -0
- package/dist/project_soul/project_soul.test.d.ts +2 -0
- package/dist/project_soul/project_soul.test.d.ts.map +1 -0
- package/dist/project_soul/project_soul.test.js +123 -0
- package/dist/project_soul/project_soul.test.js.map +1 -0
- package/dist/replica/index.d.ts +105 -0
- package/dist/replica/index.d.ts.map +1 -0
- package/dist/replica/index.js +206 -0
- package/dist/replica/index.js.map +1 -0
- package/dist/replica/replica.test.d.ts +2 -0
- package/dist/replica/replica.test.d.ts.map +1 -0
- package/dist/replica/replica.test.js +102 -0
- package/dist/replica/replica.test.js.map +1 -0
- 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 @@
|
|
|
1
|
+
{"version":3,"file":"kill_switch.test.d.ts","sourceRoot":"","sources":["../../src/kill_switch/kill_switch.test.ts"],"names":[],"mappings":""}
|