@memnexus-ai/mx-agent-cli 0.1.174 → 0.1.176
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/__tests__/config-command.test.js +20 -0
- package/dist/__tests__/config-command.test.js.map +1 -1
- package/dist/__tests__/coordination-brief.test.js +5 -1
- package/dist/__tests__/coordination-brief.test.js.map +1 -1
- package/dist/__tests__/coordination-command.test.js +2 -0
- package/dist/__tests__/coordination-command.test.js.map +1 -1
- package/dist/__tests__/coordination-history.test.js +5 -1
- package/dist/__tests__/coordination-history.test.js.map +1 -1
- package/dist/__tests__/coordination-memory.test.d.ts +14 -0
- package/dist/__tests__/coordination-memory.test.d.ts.map +1 -0
- package/dist/__tests__/coordination-memory.test.js +261 -0
- package/dist/__tests__/coordination-memory.test.js.map +1 -0
- package/dist/__tests__/coordination-provision.test.d.ts +12 -0
- package/dist/__tests__/coordination-provision.test.d.ts.map +1 -0
- package/dist/__tests__/coordination-provision.test.js +77 -0
- package/dist/__tests__/coordination-provision.test.js.map +1 -0
- package/dist/__tests__/coordination-token.test.d.ts +11 -0
- package/dist/__tests__/coordination-token.test.d.ts.map +1 -0
- package/dist/__tests__/coordination-token.test.js +166 -0
- package/dist/__tests__/coordination-token.test.js.map +1 -0
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +12 -0
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/coordination.d.ts +37 -17
- package/dist/commands/coordination.d.ts.map +1 -1
- package/dist/commands/coordination.js +145 -16
- package/dist/commands/coordination.js.map +1 -1
- package/dist/lib/coordination-client.d.ts +21 -0
- package/dist/lib/coordination-client.d.ts.map +1 -1
- package/dist/lib/coordination-client.js +24 -0
- package/dist/lib/coordination-client.js.map +1 -1
- package/dist/lib/coordination-memory.d.ts +125 -0
- package/dist/lib/coordination-memory.d.ts.map +1 -0
- package/dist/lib/coordination-memory.js +318 -0
- package/dist/lib/coordination-memory.js.map +1 -0
- package/dist/lib/coordination-token.d.ts +75 -0
- package/dist/lib/coordination-token.d.ts.map +1 -0
- package/dist/lib/coordination-token.js +168 -0
- package/dist/lib/coordination-token.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordination.js","sourceRoot":"","sources":["../../src/commands/coordination.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"coordination.js","sourceRoot":"","sources":["../../src/commands/coordination.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,EACvB,gBAAgB,GAGjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,wBAAwB,EAA2B,MAAM,8BAA8B,CAAC;AACjG,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,GAEnB,MAAM,+BAA+B,CAAC;AAEvC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAE3D,kFAAkF;AAClF,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAEjC,iEAAiE;AACjE,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAE3C,SAAS,WAAW,CAAC,QAAiB;IACpC,OAAO,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,SAAS,CAAC;AACnE,CAAC;AAED,SAAS,MAAM,CAAC,IAAY,EAAE,QAAgB;IAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,CAAC,GAAG;QAAE,OAAO,QAAQ,CAAC;IAC1B,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5B,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACpD,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW;IAClB,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACnC,kEAAkE;QAClE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,aAAa,CAAC,IAAsC;IAClE,IAAI,IAAI,EAAE,MAAM;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC;IAErC,kFAAkF;IAClF,kFAAkF;IAClF,0EAA0E;IAC1E,8EAA8E;IAC9E,gFAAgF;IAChF,IAAI,GAAG,GAAuB,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC;IAC7F,IAAI,CAAC;QACH,GAAG,GAAG,wBAAwB,EAAE,CAAC;QACjC,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YAC3C,sEAAsE;YACtE,6EAA6E;YAC7E,OAAO,CAAC,GAAG,CAAC,sBAAsB,GAAG,GAAG,CAAC,KAAK,CAAC;YAC/C,iEAAiE;YACjE,6EAA6E;YAC7E,4DAA4D;YAC5D,IAAI,GAAG,CAAC,IAAI;gBAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,GAAG,CAAC,IAAI,CAAC;QAC9D,CAAC;QACD,OAAO,IAAI,sBAAsB,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,+EAA+E;QAC/E,4EAA4E;QAC5E,wBAAwB;QACxB,IAAI,GAAG,CAAC,MAAM,KAAK,eAAe,EAAE,CAAC;YACnC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,uBAAuB,GAAG,CAAC,IAAI,4EAA4E,CAC5G,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7E,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,sDAAsD,GAAG,0CAA0C,CACpG,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,kBAAkB,CAAC,MAA0B;IAC1D,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uEAAuE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpJ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,KAAoF;IAC/G,IAAI,CAAC;QACH,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,GAAI,GAA6B,CAAC,IAAI,CAAC;QACjD,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5G,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oDAAoD,IAAI,iDAAiD,IAAI,IAAI,CAAC,CAAC;YACxI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAYD,8EAA8E;AAC9E,SAAS,uBAAuB,CAAC,UAAkB;IACjD,OAAO,CAAC,GAAG,CACT,6BAA6B,UAAU,wFAAwF,CAChI,CAAC;AACJ,CAAC;AASD;;;;;GAKG;AACH,KAAK,UAAU,iBAAiB,CAAC,IAAqB,EAAE,IAAuB;IAC7E,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;IAClC,IAAI,GAAG,CAAC;IACR,IAAI,CAAC;QACH,GAAG,GAAG,gBAAgB,CACpB,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAoB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EACxG,IAAI,EAAE,WAAW,CAClB,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,4EAA4E;QAC5E,sDAAsD;QACtD,OAAO,CAAC,KAAK,CAAC,2DAA2D,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7H,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,OAAO;IACT,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CACX,kEAAkE,GAAG,CAAC,IAAI,4DAA4D,CACvI,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,IAAI,qBAAqB,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAClI,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,cAAc,CAAC,IAAkB,EAAE,IAAuB;IACvE,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,IAAI,iBAAiB,EAAE,CAAC;IACtD,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;IAClC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,sBAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IACnF,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAqB,EAAE,IAAuB;IAC9E,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,KAAK,CAAC,yDAAyD,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC;QAC3F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,4EAA4E;IAC5E,IAAI,uBAAuB,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC3C,OAAO,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAoB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAEtG,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,gFAAgF;QAChF,8DAA8D;QAC9D,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACvD,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,6DAA6D;QAC7D,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAoB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACpH,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,SAAS,OAAO,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,uBAAuB,EAAE,CAAC;YAC3C,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;YACvD,OAAO;QACT,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAcD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAkB,EAAE,IAAuB;IACxE,IAAI,uBAAuB,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC3C,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,CAAC,oBAAoB;IAC9B,CAAC;IACD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,8DAA8D;IACnF,sEAAsE;IACtE,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAEjC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvF,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1C,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,OAAO;IACT,CAAC;IACD,0EAA0E;IAC1E,uCAAuC;IACvC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACjE,IAAI,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,SAAS,2DAA2D,CAAC,CAAC;IAC3F,CAAC;IACD,kFAAkF;IAClF,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACnC,MAAM,WAAW,EAAE,CAAC;QACpB,MAAM,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAcD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAqB,EAAE,EAAE,IAAuB;IAC7E,IAAI,uBAAuB,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC3C,OAAO,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,8DAA8D;IACnF,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAEjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1C,4EAA4E;IAC5E,6EAA6E;IAC7E,8EAA8E;IAC9E,6DAA6D;IAC7D,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IAC3E,IAAI,YAAY,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,8EAA8E;QAC9E,+EAA+E;QAC/E,0EAA0E;QAC1E,+EAA+E;QAC/E,+EAA+E;QAC/E,OAAO,CAAC,KAAK,CACX,kDAAkD,YAAY,wCAAwC;YACpG,mHAAmH,CACtH,CAAC;IACJ,CAAC;IACD,IAAI,YAAY,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAC1D,2EAA2E;QAC3E,OAAO,CAAC,KAAK,CACX,qCAAqC,GAAG,CAAC,IAAI,kBAAkB,YAAY,MAAM;YAC/E,kEAAkE,CACrE,CAAC;QACF,OAAO;IACT,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC;IAChG,IAAI,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,SAAS,2DAA2D,CAAC,CAAC;IAC3F,CAAC;IACD,sDAAsD;IACtD,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,MAAM,WAAW,EAAE,CAAC;QACpB,MAAM,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAUD,kFAAkF;AAClF,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC;QACE,KAAK,CAAC,oDAAoD,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED,SAAS,WAAW,CAAC,GAAY;IAC/B,IAAI,GAAG,YAAY,uBAAuB;QAAE,OAAO,IAAI,CAAC;IACxD,IAAI,GAAG,YAAY,gBAAgB,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9F,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,CAAS;IACrC,OAAO,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,OAAqB,EAAE,EACvB,IAAmE;IAEnE,IAAI,uBAAuB,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC3C,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,CAAC,oBAAoB;IAC9B,CAAC;IACD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,8DAA8D;IACnF,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC;IAClF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3F,MAAM,UAAU,GAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAElE,IAAI,OAAO,GAAG,UAAU,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;YACtD,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC5D,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;oBAChB,MAAM,WAAW,EAAE,CAAC;oBACpB,MAAM,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;YACD,OAAO,GAAG,UAAU,CAAC,CAAC,mBAAmB;QAC3C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,gBAAgB,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC;gBAClF,MAAM,IAAI,cAAc,EAAE,CAAC,CAAC,iCAAiC;YAC/D,CAAC;YACD,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC/E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8CAA8C,MAAM,kBAAkB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC5H,MAAM,MAAM,GAAG,OAAO,CAAC;gBACvB,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,EAAE,oBAAoB,CAAC,CAAC;gBACtD,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ;oBAAE,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC1C,SAAS;YACX,CAAC;YACD,MAAM,GAAG,CAAC,CAAC,gCAAgC;QAC7C,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ;YAAE,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,gBAAgB;AAChB,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,SAAiB,EAAE,IAAuB;IACrE,IAAI,uBAAuB,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC3C,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAC/B,OAAO,CAAC,oBAAoB;IAC9B,CAAC;IACD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,8DAA8D;IACnF,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,UAAU,SAAS,EAAE,CAAC,CAAC;AACrC,CAAC;AASD,6EAA6E;AAC7E,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAuB,EAAE,EAAE,IAAuB;IACjF,IAAI,uBAAuB,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC3C,uBAAuB,CAAC,SAAS,CAAC,CAAC;QACnC,OAAO,CAAC,oBAAoB;IAC9B,CAAC;IACD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,8DAA8D;IACnF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEhE,MAAM,SAAS,GAAmE,EAAE,CAAC;IACrF,IAAI,MAA0B,CAAC;IAC/B,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,iBAAiB,EAAE,IAAI,EAAE,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACpD,SAAS,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM;QACrE,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC;IAC1B,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QACrD,OAAO;IACT,CAAC;IACD,6EAA6E;IAC7E,4DAA4D;IAC5D,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -10,6 +10,27 @@
|
|
|
10
10
|
export type Priority = 'p0' | 'p1' | 'p2' | 'p3';
|
|
11
11
|
export declare const CONFIG_KEY_URL = "coordination-service-url";
|
|
12
12
|
export declare const CONFIG_KEY_TOKEN = "coordination-service-token";
|
|
13
|
+
export declare const CONFIG_KEY_MODE = "coordination-mode";
|
|
14
|
+
/**
|
|
15
|
+
* Coordination backend selector (PO "Option 1: one interface, backend swaps").
|
|
16
|
+
* The SAME CLI commands route to either the coordination queue service or the
|
|
17
|
+
* named-memory coordination channel depending on this mode.
|
|
18
|
+
* - `queue` — enqueue/drain/ack via the standalone coordination service.
|
|
19
|
+
* - `memory` — append/read the named-memory outbox + shared escalations doc.
|
|
20
|
+
*/
|
|
21
|
+
export type CoordinationMode = 'queue' | 'memory';
|
|
22
|
+
/** Env override for the coordination mode (highest precedence, test seam). */
|
|
23
|
+
export declare const ENV_KEY_MODE = "MX_COORDINATION_MODE";
|
|
24
|
+
/**
|
|
25
|
+
* Resolve the coordination backend mode: env → config → default.
|
|
26
|
+
*
|
|
27
|
+
* DEFAULT is `memory` (fail-safe): nothing changes for a project until it opts
|
|
28
|
+
* in with `mx-agent config set coordination-mode queue`. An unknown/garbage
|
|
29
|
+
* value (typo, corrupted config) also resolves to `memory` — the mode read is
|
|
30
|
+
* cheap and MUST NEVER crash a command, so any read failure degrades to the
|
|
31
|
+
* safe default rather than throwing.
|
|
32
|
+
*/
|
|
33
|
+
export declare function resolveCoordinationMode(): CoordinationMode;
|
|
13
34
|
export interface EnqueueRequest {
|
|
14
35
|
to: string;
|
|
15
36
|
priority: Priority;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordination-client.d.ts","sourceRoot":"","sources":["../../src/lib/coordination-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEjD,eAAO,MAAM,cAAc,6BAA6B,CAAC;AACzD,eAAO,MAAM,gBAAgB,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"coordination-client.d.ts","sourceRoot":"","sources":["../../src/lib/coordination-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEjD,eAAO,MAAM,cAAc,6BAA6B,CAAC;AACzD,eAAO,MAAM,gBAAgB,+BAA+B,CAAC;AAC7D,eAAO,MAAM,eAAe,sBAAsB,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,QAAQ,CAAC;AAElD,8EAA8E;AAC9E,eAAO,MAAM,YAAY,yBAAyB,CAAC;AAEnD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,IAAI,gBAAgB,CAU1D;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,qEAAqE;IACrE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,6DAA6D;AAC7D,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACjF,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAClD,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CACzD;AAED,yFAAyF;AACzF,qBAAa,uBAAwB,SAAQ,KAAK;gBACpC,KAAK,EAAE,OAAO;CAI3B;AAED,6EAA6E;AAC7E,qBAAa,gBAAiB,SAAQ,KAAK;aACb,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI5D;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAE9C,sFAAsF;AACtF,wBAAgB,mBAAmB,IAAI,YAAY,CAYlD;AAED,qBAAa,sBAAuB,YAAW,kBAAkB;IACnD,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;YAEnC,OAAO;IAiCrB,OAAO,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IAIhF,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAO3C,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;CAOxD"}
|
|
@@ -10,6 +10,30 @@
|
|
|
10
10
|
import { getConfigValue } from './config.js';
|
|
11
11
|
export const CONFIG_KEY_URL = 'coordination-service-url';
|
|
12
12
|
export const CONFIG_KEY_TOKEN = 'coordination-service-token';
|
|
13
|
+
export const CONFIG_KEY_MODE = 'coordination-mode';
|
|
14
|
+
/** Env override for the coordination mode (highest precedence, test seam). */
|
|
15
|
+
export const ENV_KEY_MODE = 'MX_COORDINATION_MODE';
|
|
16
|
+
/**
|
|
17
|
+
* Resolve the coordination backend mode: env → config → default.
|
|
18
|
+
*
|
|
19
|
+
* DEFAULT is `memory` (fail-safe): nothing changes for a project until it opts
|
|
20
|
+
* in with `mx-agent config set coordination-mode queue`. An unknown/garbage
|
|
21
|
+
* value (typo, corrupted config) also resolves to `memory` — the mode read is
|
|
22
|
+
* cheap and MUST NEVER crash a command, so any read failure degrades to the
|
|
23
|
+
* safe default rather than throwing.
|
|
24
|
+
*/
|
|
25
|
+
export function resolveCoordinationMode() {
|
|
26
|
+
let raw;
|
|
27
|
+
try {
|
|
28
|
+
raw = (process.env[ENV_KEY_MODE] || getConfigValue(CONFIG_KEY_MODE))?.trim().toLowerCase();
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
// getConfigValue can touch the filesystem (mkdirSync on an unwritable HOME).
|
|
32
|
+
// Any failure → safe default; never propagate.
|
|
33
|
+
return 'memory';
|
|
34
|
+
}
|
|
35
|
+
return raw === 'queue' ? 'queue' : 'memory';
|
|
36
|
+
}
|
|
13
37
|
/** Thrown for a transport failure (service unreachable) — triggers the FR-8 fallback. */
|
|
14
38
|
export class ServiceUnreachableError extends Error {
|
|
15
39
|
constructor(cause) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordination-client.js","sourceRoot":"","sources":["../../src/lib/coordination-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAI7C,MAAM,CAAC,MAAM,cAAc,GAAG,0BAA0B,CAAC;AACzD,MAAM,CAAC,MAAM,gBAAgB,GAAG,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"coordination-client.js","sourceRoot":"","sources":["../../src/lib/coordination-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* coordination-memory -- named-memory backend for coordination-mode=memory.
|
|
3
|
+
*
|
|
4
|
+
* This is the "memory" half of the PO's one-interface/backend-swaps design. When
|
|
5
|
+
* `coordination-mode=memory` the same `mx-agent escalate` / `coordination brief`
|
|
6
|
+
* commands route here instead of the HTTP queue service. It reproduces the OLD
|
|
7
|
+
* cross-team convention on top of named memories:
|
|
8
|
+
*
|
|
9
|
+
* - escalate → append an entry block to the SENDER's outbox memory
|
|
10
|
+
* `<product-slug>-escalations-<from-team>-outbox`
|
|
11
|
+
* using a fetch-edit-verify write (fetch current, prepend the new block,
|
|
12
|
+
* update, then re-fetch and byte-verify the block landed and no prior entry
|
|
13
|
+
* was clobbered).
|
|
14
|
+
* - brief → read the shared doc `<product-slug>-cross-team-escalations` and
|
|
15
|
+
* render entries addressed to THIS team inside the provenance fence (memory
|
|
16
|
+
* content is agent-authored → untrusted, same fence as the queue renders).
|
|
17
|
+
*
|
|
18
|
+
* The product slug is parameterized (env → mx-agent.config.json projectSlug →
|
|
19
|
+
* `memnexus`) so the channel names are portable to other projects.
|
|
20
|
+
*
|
|
21
|
+
* NO coordination service token is required on this path.
|
|
22
|
+
*/
|
|
23
|
+
import type { Priority } from './coordination-client.js';
|
|
24
|
+
/** Fallback product slug when neither env nor project config supplies one. */
|
|
25
|
+
export declare const DEFAULT_PRODUCT_SLUG = "memnexus";
|
|
26
|
+
/** Env override for the product slug (highest precedence). */
|
|
27
|
+
export declare const ENV_KEY_PRODUCT_SLUG = "MX_PRODUCT_SLUG";
|
|
28
|
+
/** Operator override for the memory-mode team when no marker is present. */
|
|
29
|
+
export declare const CONFIG_KEY_TEAM = "coordination-team";
|
|
30
|
+
/**
|
|
31
|
+
* Resolve the product slug that prefixes coordination memory-channel names:
|
|
32
|
+
* env `MX_PRODUCT_SLUG` → `mx-agent.config.json` projectSlug → `memnexus`.
|
|
33
|
+
*
|
|
34
|
+
* Mirrors the v2.35 named-memory slug convention (`<product-slug>-<team>-...`),
|
|
35
|
+
* with the coordination-specific default of `memnexus` so this repo resolves
|
|
36
|
+
* to `memnexus-...` with no config file present. Never throws — a project-root
|
|
37
|
+
* or config read failure degrades to the default.
|
|
38
|
+
*/
|
|
39
|
+
export declare function resolveProductSlug(projectRoot?: string): string;
|
|
40
|
+
/**
|
|
41
|
+
* Resolve the sender team for memory-mode coordination.
|
|
42
|
+
*
|
|
43
|
+
* The marker/default path is authoritative: the `.mx-coordination-team` marker
|
|
44
|
+
* (the same marker the queue token path trusts) is the trusted source of team
|
|
45
|
+
* identity when no operator override is given. An explicit `--team` is a
|
|
46
|
+
* deliberate operator OVERRIDE — it intentionally supersedes the marker,
|
|
47
|
+
* matching this channel's single-writer-by-discipline posture (the outbox name
|
|
48
|
+
* is not an access-control boundary).
|
|
49
|
+
*
|
|
50
|
+
* Precedence: explicit `--team` (override) → marker → config `coordination-team`
|
|
51
|
+
* → `CLAUDE_WORKTREE_NAME` → `unknown`. Every source is normalized identically.
|
|
52
|
+
*/
|
|
53
|
+
export declare function resolveMemoryTeam(explicit?: string): string;
|
|
54
|
+
/** `<slug>-escalations-<team>-outbox` — the sender's own outbox memory. */
|
|
55
|
+
export declare function outboxName(slug: string, team: string): string;
|
|
56
|
+
/** `<slug>-cross-team-escalations` — the shared, platform-composed doc. */
|
|
57
|
+
export declare function sharedDocName(slug: string): string;
|
|
58
|
+
export interface NamedMemoryRecord {
|
|
59
|
+
exists: boolean;
|
|
60
|
+
content: string | null;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Minimal named-memory access the memory backend needs. Injected in tests so the
|
|
64
|
+
* fetch-edit-verify logic can be exercised without hitting the real `mx` CLI.
|
|
65
|
+
*/
|
|
66
|
+
export interface MemoryStore {
|
|
67
|
+
/** Fetch a named memory. `exists:false` when it is not found. */
|
|
68
|
+
get(name: string): NamedMemoryRecord;
|
|
69
|
+
/** Create a new named memory (used when the outbox does not yet exist). */
|
|
70
|
+
create(name: string, content: string, codeContext: Record<string, string>): void;
|
|
71
|
+
/** Update an existing named memory (new SUPERSEDES version). */
|
|
72
|
+
update(name: string, content: string, codeContext: Record<string, string>): void;
|
|
73
|
+
}
|
|
74
|
+
/** Default store backed by the real `mx memories` CLI. */
|
|
75
|
+
export declare const defaultMemoryStore: MemoryStore;
|
|
76
|
+
export interface OutboxEscalateInput {
|
|
77
|
+
fromTeam: string;
|
|
78
|
+
to: string;
|
|
79
|
+
priority: Priority;
|
|
80
|
+
body: string;
|
|
81
|
+
productSlug: string;
|
|
82
|
+
}
|
|
83
|
+
export interface OutboxEscalateResult {
|
|
84
|
+
name: string;
|
|
85
|
+
/** Whether the outbox was created (true) or an existing one updated (false). */
|
|
86
|
+
created: boolean;
|
|
87
|
+
/** Byte-verify passed: the re-fetched memory contains the new block and all prior content. */
|
|
88
|
+
verified: boolean;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Build one convention entry block. Priority is upcased to the P0–P3 convention.
|
|
92
|
+
* Every untrusted field (team names, body) is sanitized so a crafted `--body`
|
|
93
|
+
* cannot inject a fake block separator or control characters into the memory.
|
|
94
|
+
*/
|
|
95
|
+
export declare function buildEntryBlock(input: OutboxEscalateInput, now?: Date): string;
|
|
96
|
+
/**
|
|
97
|
+
* Append an escalation to the sender's outbox using fetch-edit-verify.
|
|
98
|
+
*
|
|
99
|
+
* 1. FETCH the current outbox content.
|
|
100
|
+
* 2. EDIT: prepend the new block (newest-first), preserving all prior content
|
|
101
|
+
* verbatim (non-destructive append).
|
|
102
|
+
* 3. WRITE via create (absent) or update (present).
|
|
103
|
+
* 4. VERIFY: re-fetch and confirm the new block is present AND the prior content
|
|
104
|
+
* is intact (no clobber). Returns verified=false if either check fails so the
|
|
105
|
+
* caller can surface a hard error rather than silently losing the message.
|
|
106
|
+
*/
|
|
107
|
+
export declare function escalateToOutbox(input: OutboxEscalateInput, store?: MemoryStore, now?: Date): OutboxEscalateResult;
|
|
108
|
+
/**
|
|
109
|
+
* Read the shared escalations doc and render entries addressed to `team`
|
|
110
|
+
* (or broadcast to `all`) inside the provenance fence. Returns null when the
|
|
111
|
+
* doc is absent/empty, and an empty-array marker via `entries.length === 0`
|
|
112
|
+
* when nothing is addressed to this team.
|
|
113
|
+
*
|
|
114
|
+
* The doc is agent-authored and UNTRUSTED: every rendered line is sanitized and
|
|
115
|
+
* the whole block sits inside one per-render-nonce fence, identical to the queue
|
|
116
|
+
* brief, so an injection payload in a memory entry can never escape as an
|
|
117
|
+
* instruction.
|
|
118
|
+
*/
|
|
119
|
+
export declare function readEscalationsForTeam(team: string, productSlug: string, store?: MemoryStore): {
|
|
120
|
+
present: boolean;
|
|
121
|
+
entries: string[];
|
|
122
|
+
};
|
|
123
|
+
/** Render matched shared-doc blocks as a fenced, sanitized string. */
|
|
124
|
+
export declare function renderEscalationBlocks(blocks: string[]): string;
|
|
125
|
+
//# sourceMappingURL=coordination-memory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coordination-memory.d.ts","sourceRoot":"","sources":["../../src/lib/coordination-memory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AASH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEzD,8EAA8E;AAC9E,eAAO,MAAM,oBAAoB,aAAa,CAAC;AAC/C,8DAA8D;AAC9D,eAAO,MAAM,oBAAoB,oBAAoB,CAAC;AAGtD,4EAA4E;AAC5E,eAAO,MAAM,eAAe,sBAAsB,CAAC;AAanD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAW/D;AAYD;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAuB3D;AAED,2EAA2E;AAC3E,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,2EAA2E;AAC3E,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAID,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,iEAAiE;IACjE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAAC;IACrC,2EAA2E;IAC3E,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IACjF,gEAAgE;IAChE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CAClF;AA6BD,0DAA0D;AAC1D,eAAO,MAAM,kBAAkB,EAAE,WA+BhC,CAAC;AAIF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,gFAAgF;IAChF,OAAO,EAAE,OAAO,CAAC;IACjB,8FAA8F;IAC9F,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,mBAAmB,EAAE,GAAG,GAAE,IAAiB,GAAG,MAAM,CAa1F;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,mBAAmB,EAC1B,KAAK,GAAE,WAAgC,EACvC,GAAG,GAAE,IAAiB,GACrB,oBAAoB,CAuBtB;AAWD;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,KAAK,GAAE,WAAgC,GACtC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CA2BzC;AAED,sEAAsE;AACtE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAS/D"}
|
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* coordination-memory -- named-memory backend for coordination-mode=memory.
|
|
3
|
+
*
|
|
4
|
+
* This is the "memory" half of the PO's one-interface/backend-swaps design. When
|
|
5
|
+
* `coordination-mode=memory` the same `mx-agent escalate` / `coordination brief`
|
|
6
|
+
* commands route here instead of the HTTP queue service. It reproduces the OLD
|
|
7
|
+
* cross-team convention on top of named memories:
|
|
8
|
+
*
|
|
9
|
+
* - escalate → append an entry block to the SENDER's outbox memory
|
|
10
|
+
* `<product-slug>-escalations-<from-team>-outbox`
|
|
11
|
+
* using a fetch-edit-verify write (fetch current, prepend the new block,
|
|
12
|
+
* update, then re-fetch and byte-verify the block landed and no prior entry
|
|
13
|
+
* was clobbered).
|
|
14
|
+
* - brief → read the shared doc `<product-slug>-cross-team-escalations` and
|
|
15
|
+
* render entries addressed to THIS team inside the provenance fence (memory
|
|
16
|
+
* content is agent-authored → untrusted, same fence as the queue renders).
|
|
17
|
+
*
|
|
18
|
+
* The product slug is parameterized (env → mx-agent.config.json projectSlug →
|
|
19
|
+
* `memnexus`) so the channel names are portable to other projects.
|
|
20
|
+
*
|
|
21
|
+
* NO coordination service token is required on this path.
|
|
22
|
+
*/
|
|
23
|
+
import { execFileSync } from 'node:child_process';
|
|
24
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
25
|
+
import { join } from 'node:path';
|
|
26
|
+
import { loadProjectConfig, resolveProjectConfig } from './project-config.js';
|
|
27
|
+
import { findProjectRoot } from './worktree.js';
|
|
28
|
+
import { getConfigValue } from './config.js';
|
|
29
|
+
import { fenceBlock, sanitizeField } from './coordination-render.js';
|
|
30
|
+
/** Fallback product slug when neither env nor project config supplies one. */
|
|
31
|
+
export const DEFAULT_PRODUCT_SLUG = 'memnexus';
|
|
32
|
+
/** Env override for the product slug (highest precedence). */
|
|
33
|
+
export const ENV_KEY_PRODUCT_SLUG = 'MX_PRODUCT_SLUG';
|
|
34
|
+
/** Authoritative team-identity marker (shared with the queue token path). */
|
|
35
|
+
const MARKER_FILE = '.mx-coordination-team';
|
|
36
|
+
/** Operator override for the memory-mode team when no marker is present. */
|
|
37
|
+
export const CONFIG_KEY_TEAM = 'coordination-team';
|
|
38
|
+
/** Block separator used by the cross-team convention. */
|
|
39
|
+
const BLOCK_SEP = '======================================';
|
|
40
|
+
/**
|
|
41
|
+
* The separator as a LINE-ANCHORED pattern (≥30 '=' occupying its own line).
|
|
42
|
+
* The read-parser splits on this, not on the bare substring, so an inline
|
|
43
|
+
* `======...` inside a body cannot spawn a spurious parsed block — it aligns the
|
|
44
|
+
* reader with the write-side guarantee that the separator only ever appears on
|
|
45
|
+
* its own line (`sanitizeField` collapses body newlines, so a body can never
|
|
46
|
+
* contain a line-anchored separator).
|
|
47
|
+
*/
|
|
48
|
+
const LINE_ANCHORED_SEP_RE = /^={30,}[ \t\r]*$/m;
|
|
49
|
+
/**
|
|
50
|
+
* Resolve the product slug that prefixes coordination memory-channel names:
|
|
51
|
+
* env `MX_PRODUCT_SLUG` → `mx-agent.config.json` projectSlug → `memnexus`.
|
|
52
|
+
*
|
|
53
|
+
* Mirrors the v2.35 named-memory slug convention (`<product-slug>-<team>-...`),
|
|
54
|
+
* with the coordination-specific default of `memnexus` so this repo resolves
|
|
55
|
+
* to `memnexus-...` with no config file present. Never throws — a project-root
|
|
56
|
+
* or config read failure degrades to the default.
|
|
57
|
+
*/
|
|
58
|
+
export function resolveProductSlug(projectRoot) {
|
|
59
|
+
const env = process.env[ENV_KEY_PRODUCT_SLUG]?.trim();
|
|
60
|
+
if (env)
|
|
61
|
+
return env;
|
|
62
|
+
try {
|
|
63
|
+
const root = projectRoot ?? findProjectRoot();
|
|
64
|
+
const slug = resolveProjectConfig(loadProjectConfig(root)).projectSlug?.trim();
|
|
65
|
+
if (slug)
|
|
66
|
+
return slug;
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
/* fall through to the default */
|
|
70
|
+
}
|
|
71
|
+
return DEFAULT_PRODUCT_SLUG;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Normalize a team slug from any source: take the first line and strip ALL
|
|
75
|
+
* whitespace (interior included), so a value with spaces can never produce a
|
|
76
|
+
* malformed memory-channel name. Applied uniformly to every source below.
|
|
77
|
+
*/
|
|
78
|
+
function normalizeTeamSlug(raw) {
|
|
79
|
+
if (!raw)
|
|
80
|
+
return '';
|
|
81
|
+
return (raw.split(/\r?\n/, 1)[0] ?? '').replace(/\s+/g, '');
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Resolve the sender team for memory-mode coordination.
|
|
85
|
+
*
|
|
86
|
+
* The marker/default path is authoritative: the `.mx-coordination-team` marker
|
|
87
|
+
* (the same marker the queue token path trusts) is the trusted source of team
|
|
88
|
+
* identity when no operator override is given. An explicit `--team` is a
|
|
89
|
+
* deliberate operator OVERRIDE — it intentionally supersedes the marker,
|
|
90
|
+
* matching this channel's single-writer-by-discipline posture (the outbox name
|
|
91
|
+
* is not an access-control boundary).
|
|
92
|
+
*
|
|
93
|
+
* Precedence: explicit `--team` (override) → marker → config `coordination-team`
|
|
94
|
+
* → `CLAUDE_WORKTREE_NAME` → `unknown`. Every source is normalized identically.
|
|
95
|
+
*/
|
|
96
|
+
export function resolveMemoryTeam(explicit) {
|
|
97
|
+
const fromExplicit = normalizeTeamSlug(explicit);
|
|
98
|
+
if (fromExplicit)
|
|
99
|
+
return fromExplicit;
|
|
100
|
+
const worktree = process.env.CLAUDE_WORKTREE_PATH;
|
|
101
|
+
if (worktree) {
|
|
102
|
+
try {
|
|
103
|
+
const markerPath = join(worktree, MARKER_FILE);
|
|
104
|
+
if (existsSync(markerPath)) {
|
|
105
|
+
const slug = normalizeTeamSlug(readFileSync(markerPath, 'utf-8'));
|
|
106
|
+
if (slug)
|
|
107
|
+
return slug;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
catch {
|
|
111
|
+
/* marker unreadable → fall through */
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
try {
|
|
115
|
+
const cfg = normalizeTeamSlug(getConfigValue(CONFIG_KEY_TEAM));
|
|
116
|
+
if (cfg)
|
|
117
|
+
return cfg;
|
|
118
|
+
}
|
|
119
|
+
catch {
|
|
120
|
+
/* config unreadable → fall through */
|
|
121
|
+
}
|
|
122
|
+
return normalizeTeamSlug(process.env.CLAUDE_WORKTREE_NAME) || 'unknown';
|
|
123
|
+
}
|
|
124
|
+
/** `<slug>-escalations-<team>-outbox` — the sender's own outbox memory. */
|
|
125
|
+
export function outboxName(slug, team) {
|
|
126
|
+
return `${slug}-escalations-${team}-outbox`;
|
|
127
|
+
}
|
|
128
|
+
/** `<slug>-cross-team-escalations` — the shared, platform-composed doc. */
|
|
129
|
+
export function sharedDocName(slug) {
|
|
130
|
+
return `${slug}-cross-team-escalations`;
|
|
131
|
+
}
|
|
132
|
+
/** Locate the leading JSON object in `mx memories get` output. */
|
|
133
|
+
function findJsonEnd(str) {
|
|
134
|
+
let depth = 0;
|
|
135
|
+
let inString = false;
|
|
136
|
+
let escape = false;
|
|
137
|
+
for (let i = 0; i < str.length; i++) {
|
|
138
|
+
const ch = str[i];
|
|
139
|
+
if (escape) {
|
|
140
|
+
escape = false;
|
|
141
|
+
continue;
|
|
142
|
+
}
|
|
143
|
+
if (ch === '\\' && inString) {
|
|
144
|
+
escape = true;
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
147
|
+
if (ch === '"') {
|
|
148
|
+
inString = !inString;
|
|
149
|
+
continue;
|
|
150
|
+
}
|
|
151
|
+
if (inString)
|
|
152
|
+
continue;
|
|
153
|
+
if (ch === '{')
|
|
154
|
+
depth++;
|
|
155
|
+
else if (ch === '}') {
|
|
156
|
+
depth--;
|
|
157
|
+
if (depth === 0)
|
|
158
|
+
return i + 1;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
return 0;
|
|
162
|
+
}
|
|
163
|
+
function mx(args) {
|
|
164
|
+
const res = execFileSync('mx', args, {
|
|
165
|
+
encoding: 'utf-8',
|
|
166
|
+
timeout: 15000,
|
|
167
|
+
maxBuffer: 1024 * 1024,
|
|
168
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
169
|
+
});
|
|
170
|
+
return { status: 0, stdout: res };
|
|
171
|
+
}
|
|
172
|
+
/** Default store backed by the real `mx memories` CLI. */
|
|
173
|
+
export const defaultMemoryStore = {
|
|
174
|
+
get(name) {
|
|
175
|
+
try {
|
|
176
|
+
const { stdout } = mx(['memories', 'get', '--name', name, '--format', 'json']);
|
|
177
|
+
const end = findJsonEnd(stdout);
|
|
178
|
+
const jsonStr = end > 0 ? stdout.slice(0, end) : stdout;
|
|
179
|
+
const parsed = JSON.parse(jsonStr);
|
|
180
|
+
const content = typeof parsed.content === 'string' ? parsed.content : null;
|
|
181
|
+
return { exists: content !== null, content };
|
|
182
|
+
}
|
|
183
|
+
catch {
|
|
184
|
+
// Not found or any read failure → treat as absent so the caller creates it.
|
|
185
|
+
return { exists: false, content: null };
|
|
186
|
+
}
|
|
187
|
+
},
|
|
188
|
+
create(name, content, codeContext) {
|
|
189
|
+
mx([
|
|
190
|
+
'memories', 'create',
|
|
191
|
+
'--name', name,
|
|
192
|
+
'--conversation-id', 'NEW',
|
|
193
|
+
'--content', content,
|
|
194
|
+
'--code-context', JSON.stringify(codeContext),
|
|
195
|
+
]);
|
|
196
|
+
},
|
|
197
|
+
update(name, content, codeContext) {
|
|
198
|
+
mx([
|
|
199
|
+
'memories', 'update',
|
|
200
|
+
'--name', name,
|
|
201
|
+
'--content', content,
|
|
202
|
+
'--code-context', JSON.stringify(codeContext),
|
|
203
|
+
]);
|
|
204
|
+
},
|
|
205
|
+
};
|
|
206
|
+
/**
|
|
207
|
+
* Build one convention entry block. Priority is upcased to the P0–P3 convention.
|
|
208
|
+
* Every untrusted field (team names, body) is sanitized so a crafted `--body`
|
|
209
|
+
* cannot inject a fake block separator or control characters into the memory.
|
|
210
|
+
*/
|
|
211
|
+
export function buildEntryBlock(input, now = new Date()) {
|
|
212
|
+
const filed = now.toISOString().slice(0, 10); // YYYY-MM-DD
|
|
213
|
+
const ts = now.toISOString();
|
|
214
|
+
const from = sanitizeField(input.fromTeam);
|
|
215
|
+
const to = sanitizeField(input.to);
|
|
216
|
+
const prio = sanitizeField(input.priority).toUpperCase();
|
|
217
|
+
const body = sanitizeField(input.body);
|
|
218
|
+
return [
|
|
219
|
+
BLOCK_SEP,
|
|
220
|
+
`OPEN — ${from} → ${to} (${prio}, FILED ${filed})`,
|
|
221
|
+
`${body}.`,
|
|
222
|
+
`Timestamp: ${ts}`,
|
|
223
|
+
].join('\n');
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Append an escalation to the sender's outbox using fetch-edit-verify.
|
|
227
|
+
*
|
|
228
|
+
* 1. FETCH the current outbox content.
|
|
229
|
+
* 2. EDIT: prepend the new block (newest-first), preserving all prior content
|
|
230
|
+
* verbatim (non-destructive append).
|
|
231
|
+
* 3. WRITE via create (absent) or update (present).
|
|
232
|
+
* 4. VERIFY: re-fetch and confirm the new block is present AND the prior content
|
|
233
|
+
* is intact (no clobber). Returns verified=false if either check fails so the
|
|
234
|
+
* caller can surface a hard error rather than silently losing the message.
|
|
235
|
+
*/
|
|
236
|
+
export function escalateToOutbox(input, store = defaultMemoryStore, now = new Date()) {
|
|
237
|
+
const name = outboxName(input.productSlug, input.fromTeam);
|
|
238
|
+
const block = buildEntryBlock(input, now);
|
|
239
|
+
const codeContext = { product: input.productSlug, team: input.fromTeam, service: 'coordination' };
|
|
240
|
+
const before = store.get(name);
|
|
241
|
+
const priorContent = before.exists && before.content ? before.content : '';
|
|
242
|
+
const newContent = priorContent ? `${block}\n\n${priorContent}` : block;
|
|
243
|
+
let created = false;
|
|
244
|
+
if (before.exists) {
|
|
245
|
+
store.update(name, newContent, codeContext);
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
store.create(name, newContent, codeContext);
|
|
249
|
+
created = true;
|
|
250
|
+
}
|
|
251
|
+
// Byte-verify: the block must be present and no prior entry may have vanished.
|
|
252
|
+
const after = store.get(name);
|
|
253
|
+
const afterContent = after.content ?? '';
|
|
254
|
+
const blockPresent = afterContent.includes(block);
|
|
255
|
+
const priorIntact = priorContent === '' || afterContent.includes(priorContent);
|
|
256
|
+
return { name, created, verified: blockPresent && priorIntact };
|
|
257
|
+
}
|
|
258
|
+
// ── Brief (shared-doc read) ───────────────────────────────────────────────────
|
|
259
|
+
/** Extract the target team from a convention header line, or null. */
|
|
260
|
+
function targetOfHeader(line) {
|
|
261
|
+
// e.g. "OPEN — retrieval → mcp (P1, FILED 2026-07-10)"
|
|
262
|
+
const m = line.match(/→\s*([A-Za-z0-9_-]+)/);
|
|
263
|
+
return m ? m[1] : null;
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Read the shared escalations doc and render entries addressed to `team`
|
|
267
|
+
* (or broadcast to `all`) inside the provenance fence. Returns null when the
|
|
268
|
+
* doc is absent/empty, and an empty-array marker via `entries.length === 0`
|
|
269
|
+
* when nothing is addressed to this team.
|
|
270
|
+
*
|
|
271
|
+
* The doc is agent-authored and UNTRUSTED: every rendered line is sanitized and
|
|
272
|
+
* the whole block sits inside one per-render-nonce fence, identical to the queue
|
|
273
|
+
* brief, so an injection payload in a memory entry can never escape as an
|
|
274
|
+
* instruction.
|
|
275
|
+
*/
|
|
276
|
+
export function readEscalationsForTeam(team, productSlug, store = defaultMemoryStore) {
|
|
277
|
+
const doc = store.get(sharedDocName(productSlug));
|
|
278
|
+
if (!doc.exists || !doc.content)
|
|
279
|
+
return { present: false, entries: [] };
|
|
280
|
+
// Split into blocks on a LINE-ANCHORED separator; keep only those addressed to
|
|
281
|
+
// this team (or broadcast). An inline `======...` inside a body is NOT a
|
|
282
|
+
// separator (it is not on its own line), so it cannot spawn a spurious block.
|
|
283
|
+
// Fall back to blank-line splitting when no line-anchored separators are
|
|
284
|
+
// present (older/free-form docs).
|
|
285
|
+
const rawBlocks = LINE_ANCHORED_SEP_RE.test(doc.content)
|
|
286
|
+
? doc.content.split(new RegExp(LINE_ANCHORED_SEP_RE.source, 'm'))
|
|
287
|
+
: doc.content.split(/\n{2,}/);
|
|
288
|
+
const wanted = team.toLowerCase();
|
|
289
|
+
const matched = [];
|
|
290
|
+
for (const raw of rawBlocks) {
|
|
291
|
+
const block = raw.trim();
|
|
292
|
+
if (!block)
|
|
293
|
+
continue;
|
|
294
|
+
const headerLine = block.split(/\r?\n/).find((l) => l.includes('→'));
|
|
295
|
+
if (!headerLine)
|
|
296
|
+
continue;
|
|
297
|
+
const target = targetOfHeader(headerLine);
|
|
298
|
+
if (!target)
|
|
299
|
+
continue;
|
|
300
|
+
const t = target.toLowerCase();
|
|
301
|
+
if (t === wanted || t === 'all')
|
|
302
|
+
matched.push(block);
|
|
303
|
+
}
|
|
304
|
+
return { present: true, entries: matched };
|
|
305
|
+
}
|
|
306
|
+
/** Render matched shared-doc blocks as a fenced, sanitized string. */
|
|
307
|
+
export function renderEscalationBlocks(blocks) {
|
|
308
|
+
const lines = [];
|
|
309
|
+
for (const block of blocks) {
|
|
310
|
+
for (const line of block.split(/\r?\n/)) {
|
|
311
|
+
const clean = sanitizeField(line);
|
|
312
|
+
if (clean.trim())
|
|
313
|
+
lines.push(clean);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
return fenceBlock(lines);
|
|
317
|
+
}
|
|
318
|
+
//# sourceMappingURL=coordination-memory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coordination-memory.js","sourceRoot":"","sources":["../../src/lib/coordination-memory.ts"],"names":[],"mappings":"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"}
|