agenthub-multiagent-mcp 1.67.0 → 1.69.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/channel.js +24 -8
- package/dist/channel.js.map +1 -1
- package/dist/client.d.ts +6 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +14 -4
- package/dist/client.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/messageIdempotency.d.ts +41 -0
- package/dist/messageIdempotency.d.ts.map +1 -0
- package/dist/messageIdempotency.js +65 -0
- package/dist/messageIdempotency.js.map +1 -0
- package/dist/messageIdempotency.test.d.ts +2 -0
- package/dist/messageIdempotency.test.d.ts.map +1 -0
- package/dist/messageIdempotency.test.js +130 -0
- package/dist/messageIdempotency.test.js.map +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +29 -5
- package/dist/tools/index.js.map +1 -1
- package/dist/websocket.d.ts +20 -1
- package/dist/websocket.d.ts.map +1 -1
- package/dist/websocket.js +33 -2
- package/dist/websocket.js.map +1 -1
- package/dist/websocketAuth.test.d.ts +10 -0
- package/dist/websocketAuth.test.d.ts.map +1 -0
- package/dist/websocketAuth.test.js +57 -0
- package/dist/websocketAuth.test.js.map +1 -0
- package/package.json +1 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,4BAA4B;AAC5B,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,gCAAgC,CAAC;AAClF,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC;AAC5D,0EAA0E;AAC1E,sEAAsE;AACtE,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,EAAE,CAAC;AACtE,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC;AAC9D,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,iBAAiB,CAAC;AACvE,8EAA8E;AAC9E,uEAAuE;AACvE,iEAAiE;AACjE,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC;AAC5D,MAAM,uBAAuB,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,OAAO,CAAC,CAAC,qBAAqB;AACtG,2EAA2E;AAC3E,MAAM,0BAA0B,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,KAAK,MAAM,CAAC;AAErF,yBAAyB;AACzB,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACtB,OAAO,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,wBAAwB;AACxB,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,YAAY,EAAE,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;AAEpF,+BAA+B;AAC/B,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAE/C,qDAAqD;AACrD,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,YAAY,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;AAErG,+CAA+C;AAC/C,IAAI,cAAc,GAAG,iBAAiB,CAAC;AACvC,IAAI,iBAAiB,GAAkB,IAAI,CAAC;AAE5C;;GAEG;AACH,KAAK,UAAU,gBAAgB,CAAC,UAAkB;IAChD,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAClD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,eAAe,EAAE,CAAC;IACtC,IAAI,aAAa,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;QAC1F,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CACxC,aAAa,CAAC,QAAQ,EACtB,aAAa,CAAC,KAAK,EACnB,KAAK,EACL,SAAS,EAAE,wBAAwB;QACnC,aAAa,CAAC,IAAI,EAClB,gBAAgB,IAAI,SAAS,CAAC,yCAAyC;SACxE,CAAC;QAEF,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC;YACjC,iBAAiB,GAAG,UAAU,CAAC;YAC/B,SAAS,CAAC,eAAe,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YACpD,iDAAiD;YACjD,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC5C,wEAAwE;YACxE,kEAAkE;YAClE,MAAM,IAAI,GAAqB;gBAC7B,GAAG,aAAa;gBAChB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,aAAa,CAAC,UAAU;gBACzD,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,aAAa,CAAC,WAAW;aAC7D,CAAC;YACF,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,kDAAkD;AAClD,oEAAoE;AACpE,SAAS,CAAC,oBAAoB,CAAC,GAAG,EAAE;IAClC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;QAClF,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEH,oBAAoB;AACpB,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB;IACE,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,OAAO;CACjB,EACD;IACE,YAAY,EAAE;QACZ,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,EAAE;KACZ;CACF,CACF,CAAC;AAEF,sDAAsD;AACtD,2EAA2E;AAC3E,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAChC,MAAM,CAAC,kBAAkB,CAAC;QACxB,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,UAAU;QAClB,IAAI,EAAE,cAAc,OAAO,yEAAyE;KACrG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QACZ,qCAAqC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,uBAAuB;AACvB,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IAC1D,OAAO;QACL,KAAK,EAAE,aAAa,EAAE;KACvB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,oBAAoB;AACpB,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAEjD,wDAAwD;IACxD,SAAS,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,IAA2C,CAAC,CAAC;IAE5F,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,MAAM,EAAE;YAC5D,iBAAiB,EAAE,GAAG,EAAE,CAAC,cAAc;YACvC,iBAAiB,EAAE,CAAC,EAAU,EAAE,EAAE;gBAChC,cAAc,GAAG,EAAE,CAAC;gBACpB,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACpB,IAAI,CAAC,0BAA0B;oBAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACxD,CAAC;YACD,aAAa,EAAE,GAAG,EAAE;gBAClB,SAAS,CAAC,IAAI,EAAE,CAAC;gBACjB,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnB,CAAC;YACD,aAAa,EAAE,GAAG,EAAE;gBAClB,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACvB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;gBAC1E,CAAC;gBACD,OAAO,iBAAiB,CAAC;YAC3B,CAAC;YACD,aAAa,EAAE,CAAC,GAAW,EAAE,EAAE;gBAC7B,iBAAiB,GAAG,GAAG,CAAC;gBACxB,SAAS,CAAC,eAAe,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAC/C,CAAC;YACD,cAAc,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,EAAE;YAC/C,eAAe,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,eAAe,EAAE;YACjD,iBAAiB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC;SACtE,CAAC,CAAC;QAEH,2DAA2D;QAC3D,IAAI,eAAe,GAAG,EAAE,CAAC;QACzB,IAAI,cAAc,IAAI,WAAW,CAAC,SAAS,EAAE,EAAE,CAAC;YAC9C,MAAM,cAAc,GAAG,WAAW,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;YACjE,IAAI,cAAc,CAAC,kBAAkB,EAAE,CAAC;gBACtC,eAAe,GAAG,IAAI,GAAG,cAAc,CAAC,kBAAkB,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,2EAA2E;QAC3E,mEAAmE;QACnE,EAAE;QACF,wEAAwE;QACxE,2EAA2E;QAC3E,mEAAmE;QACnE,+CAA+C;QAC/C,EAAE;QACF,0EAA0E;QAC1E,yEAAyE;QACzE,yEAAyE;QACzE,0EAA0E;QAC1E,uEAAuE;QACvE,4EAA4E;QAC5E,uEAAuE;QACvE,uEAAuE;QACvE,IAAI,iBAAiB,GAAG,EAAE,CAAC;QAC3B,IAAI,cAAc,IAAI,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YACrE,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;YACzC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACzC,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChG,OAAO,WAAW,CAAC,CAAC,UAAU,GAAG,QAAQ,gBAAgB,CAAC,CAAC,OAAO,aAAa,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC;gBACzG,CAAC,CAAC,CAAC;gBACH,iBAAiB,GAAG,mCAAmC,MAAM,CAAC,QAAQ,CAAC,MAAM,MAAM;oBACjF,wFAAwF;oBACxF,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;oBACrB,6EAA6E,CAAC;YAClF,CAAC;YACD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACvC,OAAO,WAAW,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,WAAW,iBAAiB,CAAC,CAAC,QAAQ,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC;gBACjG,CAAC,CAAC,CAAC;gBACH,iBAAiB,IAAI,gCAAgC,MAAM,CAAC,KAAK,CAAC,MAAM,MAAM;oBAC5E,sFAAsF;oBACtF,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,qEAAqE;QACrE,cAAc;QACd,EAAE;QACF,mEAAmE;QACnE,wEAAwE;QACxE,wEAAwE;QACxE,wDAAwD;QACxD,qEAAqE;QACrE,sEAAsE;QACtE,wEAAwE;QACxE,+BAA+B;QAC/B,IAAI,gBAAgB,GAAG,EAAE,CAAC;QAC1B,MAAM,oBAAoB,GACxB,MAAM,KAAK,IAAI;YACf,OAAO,MAAM,KAAK,QAAQ;YAC1B,wBAAwB,IAAK,MAAkC,CAAC;QAClE,IACE,cAAc;YACd,iBAAiB,KAAK,EAAE;YACxB,CAAC,oBAAoB;YACrB,IAAI,KAAK,aAAa;YACtB,IAAI,KAAK,WAAW,EACpB,CAAC;YACD,MAAM,MAAM,GAAG,SAAS,CAAC,gBAAgB,EAAE,CAAC;YAC5C,IAAI,MAAM,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;gBAC9B,gBAAgB,GAAG,mBAAmB,MAAM,CAAC,cAAc,mDAAmD,CAAC;YACjH,CAAC;QACH,CAAC;QAED,sBAAsB;QACtB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,eAAe,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;QAE5G,2EAA2E;QAC3E,uEAAuE;QACvE,IAAI,cAAc;YAAE,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAExE,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,UAAU;iBACjB;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,KAAK,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,IAAI,cAAc;YAAE,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACxE,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,UAAU,OAAO,EAAE;iBAC1B;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,4EAA4E;AAC5E,gFAAgF;AAChF,+EAA+E;AAC/E,mCAAmC;AACnC,IAAI,YAAY,GAAG,KAAK,CAAC;AACzB,KAAK,UAAU,gBAAgB,CAAC,MAAc;IAC5C,IAAI,YAAY;QAAE,OAAO;IACzB,YAAY,GAAG,IAAI,CAAC;IAEpB,SAAS,CAAC,IAAI,EAAE,CAAC;IAEjB,2EAA2E;IAC3E,8EAA8E;IAC9E,4EAA4E;IAC5E,6EAA6E;IAC7E,gEAAgE;IAChE,MAAM,YAAY,GAChB,cAAc;QACd,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAExE,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,YAAY;aACvB,mBAAmB,CAAC,MAAM,EAAE,YAAY,CAAC;aACzC,KAAK,CAAC,GAAG,EAAE;YACV,wCAAwC;QAC1C,CAAC,CAAC,CAAC;QACL,gEAAgE;QAChE,MAAM,OAAO,CAAC,IAAI,CAAC;YACjB,KAAK;YACL,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;SACpD,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC;QACH,QAAQ,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,YAAY;IACd,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;IACxB,KAAK,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;IACzB,KAAK,gBAAgB,CAAC,SAAS,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC;AAEH,4EAA4E;AAC5E,qDAAqD;AACrD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;IACjC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;QAC3B,KAAK,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,eAAe;AACf,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAE7C,2EAA2E;IAC3E,0EAA0E;IAC1E,0EAA0E;IAC1E,IAAI,OAAO,CAAC,GAAG,CAAC,2BAA2B,KAAK,OAAO,EAAE,CAAC;QACxD,IAAI,CAAC;YACH,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;YAC1F,yEAAyE;YACzE,0EAA0E;YAC1E,oCAAoC;YACpC,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACrF,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7C,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YACrC,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxF,CAAC;QAED,gEAAgE;QAChE,qEAAqE;QACrE,4DAA4D;QAC5D,oEAAoE;QACpE,mEAAmE;QACnE,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;gBACrE,MAAM,qBAAqB,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1D,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,0EAA0E;IAC1E,0DAA0D;IAC1D,IAAI,CAAC;QACH,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;QACrC,OAAO,CAAC,KAAK,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,wEAAwE;IACxE,uEAAuE;IACvE,qEAAqE;IACrE,qEAAqE;IACrE,iDAAiD;IACjD,IAAI,CAAC;QACH,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,uEAAuE;IACvE,0EAA0E;IAC1E,sEAAsE;IACtE,wEAAwE;IACxE,6EAA6E;IAC7E,wEAAwE;IACxE,2EAA2E;IAC3E,+DAA+D;IAC/D,IAAI,CAAC;QACH,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QACvE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;YACtC,aAAa,EAAE,MAAM,CAAC,UAAU,EAAE;YAClC,YAAY,EAAE,MAAM,CAAC,eAAe,EAAE,IAAI,EAAE;YAC5C,OAAO,EAAE,cAAc,IAAI,iBAAiB,IAAI,EAAE;YAClD,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE;YACrB,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC5D,CAAC,CAAC;QACH,OAAO,CAAC,KAAK,CAAC,qBAAqB,MAAM,EAAE,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED,4EAA4E;IAC5E,2EAA2E;IAC3E,qEAAqE;IACrE,gFAAgF;IAChF,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,iBAAiB,IAAI,cAAc,CAAC;QACtD,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,GAAG,CAAC,SAAS,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,OAAO,CAAC,KAAK,CACX,6BAA6B,GAAG,CAAC,SAAS,yBAAyB,GAAG,CAAC,MAAM,SAAS,CACvF,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED,wEAAwE;IACxE,6EAA6E;IAC7E,MAAM,YAAY,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IACpF,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC9B,mEAAmE;QACnE,0DAA0D;QAC1D,IAAI,CAAC;YACH,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;YACtE,MAAM,KAAK,GAAG,kBAAkB,EAAE,CAAC;YACnC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,OAAO,CAAC,KAAK,CAAC,iBAAiB,KAAK,6BAA6B,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrF,CAAC;QAED,gDAAgD;QAChD,yEAAyE;QACzE,0EAA0E;QAC1E,uEAAuE;QACvE,IAAI,CAAC;YACH,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;YACpE,gBAAgB,EAAE,CAAC;QACrB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACvF,CAAC;QAED,IAAI,CAAC;YACH,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YACjE,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;YAC1C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;oBACZ,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;gBACnE,CAAC;qBAAM,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;oBACtB,OAAO,CAAC,KAAK,CACX,mBAAmB,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,YAAY,gBAAgB,CAAC,CAAC,SAAS,IAAI,CACpG,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,6EAA6E;IAC7E,+EAA+E;IAC/E,+EAA+E;IAC/E,+EAA+E;IAC/E,+EAA+E;IAC/E,+EAA+E;IAC/E,IAAI,iBAAiB,EAAE,CAAC;QACtB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QACjC,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,WAAW,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;QAE3D,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAChC,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,UAAU,CAAC,CAAC;YACvD,IAAI,WAAW,EAAE,CAAC;gBAChB,qEAAqE;gBACrE,4CAA4C;gBAC5C,SAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBACnC,IAAI,CAAC,0BAA0B;oBAAE,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBACrE,OAAO,CAAC,KAAK,CAAC,8BAA8B,WAAW,CAAC,IAAI,IAAI,iBAAiB,EAAE,CAAC,CAAC;gBACrF,IAAI,CAAC;oBACH,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;oBACrE,MAAM,qBAAqB,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC7D,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACjG,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,8DAA8D;gBAC9D,yEAAyE;gBACzE,wEAAwE;gBACxE,sEAAsE;gBACtE,kCAAkC;gBAClC,OAAO,CAAC,KAAK,CACX,wCAAwC,iBAAiB,gCAAgC;oBACzF,6FAA6F;oBAC7F,oDAAoD,iBAAiB,2BAA2B;oBAChG,kFAAkF,CACnF,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,wEAAwE;YACxE,IAAI,CAAC;gBACH,uEAAuE;gBACvE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,CACvC,iBAAiB,EACjB,SAAS,EACT,SAAS,EACT,SAAS,EAAE,+CAA+C;gBAC1D,cAAc,EACd,gBAAgB,IAAI,SAAS,CAC9B,CAAC;gBACF,cAAc,GAAG,iBAAiB,CAAC;gBACnC,iBAAiB,GAAG,UAAU,CAAC;gBAC/B,yEAAyE;gBACzE,6DAA6D;gBAC7D,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE;oBAC1B,QAAQ,EAAE,iBAAiB;oBAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,KAAK,EAAE,KAAK,CAAC,eAAe,EAAE;oBAC9B,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,EAAE;oBACnC,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE;oBACrC,MAAM,EAAE,EAAE;oBACV,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBAChE,CAAC,CAAC;gBACH,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACrC,SAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBACnC,IAAI,CAAC,0BAA0B;oBAAE,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBACrE,OAAO,CAAC,KAAK,CAAC,6BAA6B,iBAAiB,EAAE,CAAC,CAAC;gBAChE,mEAAmE;gBACnE,0EAA0E;gBAC1E,IAAI,CAAC;oBACH,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;oBACrE,MAAM,qBAAqB,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC7D,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAChG,CAAC;YACH,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,MAAM,GAAG,GAAG,KAAK,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5C,IAAI,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;oBACvC,qEAAqE;oBACrE,sEAAsE;oBACtE,sEAAsE;oBACtE,EAAE;oBACF,mEAAmE;oBACnE,oEAAoE;oBACpE,kEAAkE;oBAClE,mDAAmD;oBACnD,OAAO,CAAC,KAAK,CACX,cAAc,yBAAyB,CAAC,iBAAiB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAC5E,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,KAAK,CAAC,4BAA4B,KAAK,EAAE,CAAC,CAAC;gBACrD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,uBAAuB,EAAE,CAAC;QACnC,0CAA0C;QAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QACjC,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,8CAA8C,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;YACtF,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,UAAU,CAAC,CAAC;YACvD,IAAI,WAAW,EAAE,CAAC;gBAChB,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBACtC,IAAI,CAAC,0BAA0B;oBAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBACxE,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,QAAQ,CAAC;gBAC7D,OAAO,CAAC,KAAK,CAAC,mCAAmC,WAAW,EAAE,CAAC,CAAC;YAClE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC;YAClF,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Idempotent message sends (fix-message-send-idempotency).
|
|
3
|
+
*
|
|
4
|
+
* Under load a POST /messages can time out after the server stored the
|
|
5
|
+
* message. The caller that retries is a model reading an error, and it will
|
|
6
|
+
* not reliably pass a token back — so the default key is derived from the
|
|
7
|
+
* message itself: re-issuing the same call produces the same key, and the
|
|
8
|
+
* server answers the retry with the original instead of delivering it twice.
|
|
9
|
+
* A caller that means to repeat identical text supplies its own key.
|
|
10
|
+
*/
|
|
11
|
+
export interface MessageKeyParts {
|
|
12
|
+
to_agent?: string;
|
|
13
|
+
to_channel?: string;
|
|
14
|
+
broadcast?: boolean;
|
|
15
|
+
type: string;
|
|
16
|
+
subject: string;
|
|
17
|
+
body: string;
|
|
18
|
+
reply_to?: string;
|
|
19
|
+
priority?: string;
|
|
20
|
+
}
|
|
21
|
+
/** The content-derived key: `auto:` + SHA-256 over every field that makes two
|
|
22
|
+
* sends the same message. */
|
|
23
|
+
export declare function deriveMessageKey(p: MessageKeyParts): string;
|
|
24
|
+
/** An explicit key wins; otherwise the derived one. */
|
|
25
|
+
export declare function resolveMessageKey(p: MessageKeyParts, explicit?: unknown): string;
|
|
26
|
+
export interface SendResult {
|
|
27
|
+
message_id: string;
|
|
28
|
+
status?: string;
|
|
29
|
+
created_at?: string;
|
|
30
|
+
duplicate?: boolean;
|
|
31
|
+
}
|
|
32
|
+
/** Adds a plain statement to a duplicate answer, so it cannot be read as a
|
|
33
|
+
* fresh send (or as a failure to retry). Non-duplicates pass through. */
|
|
34
|
+
export declare function describeSendResult<T extends SendResult>(result: T): T & {
|
|
35
|
+
note?: string;
|
|
36
|
+
};
|
|
37
|
+
/** The error for a request that hit the client deadline. A GET keeps its old
|
|
38
|
+
* wording; a write says its outcome is unknown, because "timed out" read as
|
|
39
|
+
* "failed" is what turned slow successful sends into duplicates. */
|
|
40
|
+
export declare function timeoutMessage(method: string, path: string, timeoutMs: number): string;
|
|
41
|
+
//# sourceMappingURL=messageIdempotency.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messageIdempotency.d.ts","sourceRoot":"","sources":["../src/messageIdempotency.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAQD;6BAC6B;AAC7B,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,eAAe,GAAG,MAAM,CAU3D;AAED,uDAAuD;AACvD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAGhF;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;yEACyE;AACzE,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,UAAU,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAUzF;AAED;;oEAEoE;AACpE,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAWtF"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Idempotent message sends (fix-message-send-idempotency).
|
|
3
|
+
*
|
|
4
|
+
* Under load a POST /messages can time out after the server stored the
|
|
5
|
+
* message. The caller that retries is a model reading an error, and it will
|
|
6
|
+
* not reliably pass a token back — so the default key is derived from the
|
|
7
|
+
* message itself: re-issuing the same call produces the same key, and the
|
|
8
|
+
* server answers the retry with the original instead of delivering it twice.
|
|
9
|
+
* A caller that means to repeat identical text supplies its own key.
|
|
10
|
+
*/
|
|
11
|
+
import { createHash } from "node:crypto";
|
|
12
|
+
function target(p) {
|
|
13
|
+
if (p.broadcast)
|
|
14
|
+
return "broadcast";
|
|
15
|
+
if (p.to_channel)
|
|
16
|
+
return `channel:${p.to_channel}`;
|
|
17
|
+
return `agent:${p.to_agent ?? ""}`;
|
|
18
|
+
}
|
|
19
|
+
/** The content-derived key: `auto:` + SHA-256 over every field that makes two
|
|
20
|
+
* sends the same message. */
|
|
21
|
+
export function deriveMessageKey(p) {
|
|
22
|
+
const canonical = JSON.stringify([
|
|
23
|
+
target(p),
|
|
24
|
+
p.type,
|
|
25
|
+
p.subject,
|
|
26
|
+
p.body,
|
|
27
|
+
p.reply_to ?? "",
|
|
28
|
+
p.priority || "normal",
|
|
29
|
+
]);
|
|
30
|
+
return "auto:" + createHash("sha256").update(canonical).digest("hex");
|
|
31
|
+
}
|
|
32
|
+
/** An explicit key wins; otherwise the derived one. */
|
|
33
|
+
export function resolveMessageKey(p, explicit) {
|
|
34
|
+
if (typeof explicit === "string" && explicit.trim() !== "")
|
|
35
|
+
return explicit;
|
|
36
|
+
return deriveMessageKey(p);
|
|
37
|
+
}
|
|
38
|
+
/** Adds a plain statement to a duplicate answer, so it cannot be read as a
|
|
39
|
+
* fresh send (or as a failure to retry). Non-duplicates pass through. */
|
|
40
|
+
export function describeSendResult(result) {
|
|
41
|
+
if (!result.duplicate)
|
|
42
|
+
return result;
|
|
43
|
+
return {
|
|
44
|
+
...result,
|
|
45
|
+
note: `Not sent again: this is identical to message ${result.message_id}, ` +
|
|
46
|
+
`already sent at ${result.created_at ?? "an earlier time"}. The recipient ` +
|
|
47
|
+
`has it once. To send the same text again on purpose, call again with a ` +
|
|
48
|
+
`new idempotency_key.`,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
/** The error for a request that hit the client deadline. A GET keeps its old
|
|
52
|
+
* wording; a write says its outcome is unknown, because "timed out" read as
|
|
53
|
+
* "failed" is what turned slow successful sends into duplicates. */
|
|
54
|
+
export function timeoutMessage(method, path, timeoutMs) {
|
|
55
|
+
const base = `Request timed out after ${timeoutMs}ms: ${method} ${path}`;
|
|
56
|
+
if (method.toUpperCase() === "GET")
|
|
57
|
+
return base;
|
|
58
|
+
if (path === "/messages") {
|
|
59
|
+
return (`${base}. The outcome is unknown: the message may have been delivered. ` +
|
|
60
|
+
`Retrying the same call is safe — it carries the same idempotency key, ` +
|
|
61
|
+
`so it will not be delivered twice.`);
|
|
62
|
+
}
|
|
63
|
+
return `${base}. The outcome is unknown: the server may have applied this request.`;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=messageIdempotency.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messageIdempotency.js","sourceRoot":"","sources":["../src/messageIdempotency.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAazC,SAAS,MAAM,CAAC,CAAkB;IAChC,IAAI,CAAC,CAAC,SAAS;QAAE,OAAO,WAAW,CAAC;IACpC,IAAI,CAAC,CAAC,UAAU;QAAE,OAAO,WAAW,CAAC,CAAC,UAAU,EAAE,CAAC;IACnD,OAAO,SAAS,CAAC,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;AACrC,CAAC;AAED;6BAC6B;AAC7B,MAAM,UAAU,gBAAgB,CAAC,CAAkB;IACjD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC/B,MAAM,CAAC,CAAC,CAAC;QACT,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,QAAQ,IAAI,EAAE;QAChB,CAAC,CAAC,QAAQ,IAAI,QAAQ;KACvB,CAAC,CAAC;IACH,OAAO,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACxE,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,iBAAiB,CAAC,CAAkB,EAAE,QAAkB;IACtE,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IAC5E,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC;AASD;yEACyE;AACzE,MAAM,UAAU,kBAAkB,CAAuB,MAAS;IAChE,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,OAAO,MAAM,CAAC;IACrC,OAAO;QACL,GAAG,MAAM;QACT,IAAI,EACF,gDAAgD,MAAM,CAAC,UAAU,IAAI;YACrE,mBAAmB,MAAM,CAAC,UAAU,IAAI,iBAAiB,kBAAkB;YAC3E,yEAAyE;YACzE,sBAAsB;KACzB,CAAC;AACJ,CAAC;AAED;;oEAEoE;AACpE,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,IAAY,EAAE,SAAiB;IAC5E,MAAM,IAAI,GAAG,2BAA2B,SAAS,OAAO,MAAM,IAAI,IAAI,EAAE,CAAC;IACzE,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IAChD,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,OAAO,CACL,GAAG,IAAI,iEAAiE;YACxE,wEAAwE;YACxE,oCAAoC,CACrC,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,IAAI,qEAAqE,CAAC;AACtF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messageIdempotency.test.d.ts","sourceRoot":"","sources":["../src/messageIdempotency.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
2
|
+
import { ApiClient } from "./client.js";
|
|
3
|
+
import { deriveMessageKey, describeSendResult, resolveMessageKey, timeoutMessage, } from "./messageIdempotency.js";
|
|
4
|
+
// fix-message-send-idempotency §2.
|
|
5
|
+
const base = {
|
|
6
|
+
to_agent: "krishi-dev",
|
|
7
|
+
type: "status",
|
|
8
|
+
subject: "Report",
|
|
9
|
+
body: "Deployed.",
|
|
10
|
+
reply_to: "m-1",
|
|
11
|
+
priority: "high",
|
|
12
|
+
};
|
|
13
|
+
describe("deriveMessageKey", () => {
|
|
14
|
+
it("is stable for identical arguments", () => {
|
|
15
|
+
expect(deriveMessageKey({ ...base })).toBe(deriveMessageKey({ ...base }));
|
|
16
|
+
expect(deriveMessageKey(base)).toMatch(/^auto:[0-9a-f]{64}$/);
|
|
17
|
+
});
|
|
18
|
+
it("differs when any field that makes it a different message differs", () => {
|
|
19
|
+
const variants = [
|
|
20
|
+
{ ...base, to_agent: "other" },
|
|
21
|
+
{ ...base, to_agent: undefined, to_channel: "krishi-dev" },
|
|
22
|
+
{ ...base, to_agent: undefined, broadcast: true },
|
|
23
|
+
{ ...base, type: "task" },
|
|
24
|
+
{ ...base, subject: "Report 2" },
|
|
25
|
+
{ ...base, body: "Deployed!" },
|
|
26
|
+
{ ...base, reply_to: "m-2" },
|
|
27
|
+
{ ...base, priority: "urgent" },
|
|
28
|
+
];
|
|
29
|
+
const keys = new Set(variants.map(deriveMessageKey));
|
|
30
|
+
expect(keys.size).toBe(variants.length);
|
|
31
|
+
expect(keys.has(deriveMessageKey(base))).toBe(false);
|
|
32
|
+
});
|
|
33
|
+
it("treats an unset priority as normal, as the server does", () => {
|
|
34
|
+
expect(deriveMessageKey({ ...base, priority: undefined })).toBe(deriveMessageKey({ ...base, priority: "normal" }));
|
|
35
|
+
});
|
|
36
|
+
it("lets an explicit key win", () => {
|
|
37
|
+
expect(resolveMessageKey(base, "mine")).toBe("mine");
|
|
38
|
+
expect(resolveMessageKey(base, "")).toBe(deriveMessageKey(base));
|
|
39
|
+
expect(resolveMessageKey(base, undefined)).toBe(deriveMessageKey(base));
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
describe("describeSendResult", () => {
|
|
43
|
+
it("says a duplicate was not sent again, names the original, and how to repeat", () => {
|
|
44
|
+
const out = describeSendResult({
|
|
45
|
+
message_id: "m-9",
|
|
46
|
+
created_at: "2026-10-22T10:00:00Z",
|
|
47
|
+
duplicate: true,
|
|
48
|
+
});
|
|
49
|
+
expect(out.note).toMatch(/not sent again/i);
|
|
50
|
+
expect(out.note).toContain("m-9");
|
|
51
|
+
expect(out.note).toContain("2026-10-22T10:00:00Z");
|
|
52
|
+
expect(out.note).toContain("idempotency_key");
|
|
53
|
+
});
|
|
54
|
+
it("leaves a fresh send unchanged", () => {
|
|
55
|
+
const fresh = { message_id: "m-1", status: "pending" };
|
|
56
|
+
expect(describeSendResult(fresh)).toEqual(fresh);
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
describe("timeoutMessage", () => {
|
|
60
|
+
it("keeps the GET wording unchanged", () => {
|
|
61
|
+
expect(timeoutMessage("GET", "/messages/inbox/x", 45000)).toBe("Request timed out after 45000ms: GET /messages/inbox/x");
|
|
62
|
+
});
|
|
63
|
+
it("says a timed-out message send may have been delivered and that retrying is safe", () => {
|
|
64
|
+
const m = timeoutMessage("POST", "/messages", 45000);
|
|
65
|
+
expect(m).toMatch(/^Request timed out after 45000ms: POST \/messages/);
|
|
66
|
+
expect(m).toMatch(/may have been delivered/);
|
|
67
|
+
expect(m).toMatch(/retrying the same call is safe/i);
|
|
68
|
+
});
|
|
69
|
+
it("says any other write's outcome is unknown, without promising a safe retry", () => {
|
|
70
|
+
const m = timeoutMessage("PATCH", "/tasks/1", 45000);
|
|
71
|
+
expect(m).toMatch(/outcome is unknown/);
|
|
72
|
+
expect(m).not.toMatch(/safe/);
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
describe("ApiClient message sends", () => {
|
|
76
|
+
let fetchMock;
|
|
77
|
+
const bodies = () => fetchMock.mock.calls
|
|
78
|
+
.filter(([, init]) => init.method === "POST")
|
|
79
|
+
.map(([, init]) => JSON.parse(init.body));
|
|
80
|
+
beforeEach(() => {
|
|
81
|
+
fetchMock = vi.fn().mockImplementation(async (url) => {
|
|
82
|
+
const payload = url.endsWith("/messages/orig")
|
|
83
|
+
? { id: "orig", from_agent: "asker", subject: "Q" }
|
|
84
|
+
: { message_id: "m-1", status: "pending", created_at: "t" };
|
|
85
|
+
return new Response(JSON.stringify(payload), {
|
|
86
|
+
status: 200,
|
|
87
|
+
headers: { "Content-Type": "application/json" },
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
vi.stubGlobal("fetch", fetchMock);
|
|
91
|
+
});
|
|
92
|
+
afterEach(() => {
|
|
93
|
+
vi.unstubAllGlobals();
|
|
94
|
+
});
|
|
95
|
+
it("sends the same derived key when an identical send is re-issued", async () => {
|
|
96
|
+
const client = new ApiClient("http://example.test", "k");
|
|
97
|
+
const params = { from_agent: "a", to_agent: "b", type: "task", subject: "s", body: "b" };
|
|
98
|
+
await client.sendMessage({ ...params });
|
|
99
|
+
await client.sendMessage({ ...params });
|
|
100
|
+
const [first, second] = bodies();
|
|
101
|
+
expect(first.idempotency_key).toMatch(/^auto:/);
|
|
102
|
+
expect(second.idempotency_key).toBe(first.idempotency_key);
|
|
103
|
+
});
|
|
104
|
+
it("sends distinct explicit keys as given, so a deliberate repeat goes through", async () => {
|
|
105
|
+
const client = new ApiClient("http://example.test", "k");
|
|
106
|
+
const params = { from_agent: "a", to_agent: "b", type: "task", subject: "s", body: "b" };
|
|
107
|
+
await client.sendMessage({ ...params, idempotency_key: "one" });
|
|
108
|
+
await client.sendMessage({ ...params, idempotency_key: "two" });
|
|
109
|
+
expect(bodies().map((b) => b.idempotency_key)).toEqual(["one", "two"]);
|
|
110
|
+
});
|
|
111
|
+
it("gives a reply a key derived from its recipient and reply_to", async () => {
|
|
112
|
+
const client = new ApiClient("http://example.test", "k");
|
|
113
|
+
await client.reply("orig", "me", "answer");
|
|
114
|
+
const [sent] = bodies();
|
|
115
|
+
expect(sent.to_agent).toBe("asker");
|
|
116
|
+
expect(sent.idempotency_key).toBe(deriveMessageKey({
|
|
117
|
+
to_agent: "asker",
|
|
118
|
+
type: "response",
|
|
119
|
+
subject: "Re: Q",
|
|
120
|
+
body: "answer",
|
|
121
|
+
reply_to: "orig",
|
|
122
|
+
}));
|
|
123
|
+
});
|
|
124
|
+
it("reports a timed-out send as possibly delivered", async () => {
|
|
125
|
+
fetchMock.mockRejectedValue(Object.assign(new Error("aborted"), { name: "TimeoutError" }));
|
|
126
|
+
const client = new ApiClient("http://example.test", "k");
|
|
127
|
+
await expect(client.sendMessage({ to_agent: "b", type: "task", subject: "s", body: "b" })).rejects.toThrow(/may have been delivered/);
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
//# sourceMappingURL=messageIdempotency.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messageIdempotency.test.js","sourceRoot":"","sources":["../src/messageIdempotency.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,OAAO,EAAqD,MAAM,cAAc,CAAC;AAOrG,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,OAAO,EAAqD,MAAM,cAAc,CAAC;AAOrG,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AA0G/D,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,iBAAiB,EAAE,MAAM,MAAM,CAAC;IAChC,iBAAiB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,MAAM,CAAC;IAC5B,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC;;;OAGG;IACH,cAAc,EAAE,MAAM,WAAW,CAAC;IAClC,gDAAgD;IAChD,eAAe,CAAC,EAAE,MAAM,WAAW,CAAC;IACpC,oEAAoE;IACpE,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE;QAC7B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;KACvB,KAAK,IAAI,CAAC;CACZ;AAED,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAyLD,wBAAgB,aAAa,IAAI,IAAI,EAAE,CAk3FtC;AA2BD,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,OAAO,CAAC,CAurFlB"}
|
package/dist/tools/index.js
CHANGED
|
@@ -21,6 +21,11 @@ import { ENG_IC_CHARTER } from "../employee.js";
|
|
|
21
21
|
import { promises as fsp } from "node:fs";
|
|
22
22
|
import * as os from "node:os";
|
|
23
23
|
import * as path from "node:path";
|
|
24
|
+
import { describeSendResult } from "../messageIdempotency.js";
|
|
25
|
+
// fix-message-send-idempotency — shared by the four message tools.
|
|
26
|
+
const IDEMPOTENCY_KEY_DESCRIPTION = "Optional. Leave unset: a key derived from the message content is sent, so " +
|
|
27
|
+
"re-issuing this exact call (e.g. after a timeout) never delivers it twice. " +
|
|
28
|
+
"Pass a new value only to send identical text again on purpose within an hour.";
|
|
24
29
|
// add-zoho-attachments — downloads land on local disk and the agent receives a
|
|
25
30
|
// PATH. Inline content stays opt-in and small; a 5 MB catalogue as text costs a
|
|
26
31
|
// context window and buys nothing a file reader can't do better.
|
|
@@ -659,6 +664,10 @@ export function registerTools() {
|
|
|
659
664
|
enum: ["normal", "high", "urgent"],
|
|
660
665
|
description: "Message priority (default: normal)",
|
|
661
666
|
},
|
|
667
|
+
idempotency_key: {
|
|
668
|
+
type: "string",
|
|
669
|
+
description: IDEMPOTENCY_KEY_DESCRIPTION,
|
|
670
|
+
},
|
|
662
671
|
},
|
|
663
672
|
required: ["to", "type", "subject", "body"],
|
|
664
673
|
},
|
|
@@ -686,6 +695,10 @@ export function registerTools() {
|
|
|
686
695
|
type: "string",
|
|
687
696
|
description: "Full message content",
|
|
688
697
|
},
|
|
698
|
+
idempotency_key: {
|
|
699
|
+
type: "string",
|
|
700
|
+
description: IDEMPOTENCY_KEY_DESCRIPTION,
|
|
701
|
+
},
|
|
689
702
|
},
|
|
690
703
|
required: ["channel", "type", "subject", "body"],
|
|
691
704
|
},
|
|
@@ -709,6 +722,10 @@ export function registerTools() {
|
|
|
709
722
|
type: "string",
|
|
710
723
|
description: "Full message content",
|
|
711
724
|
},
|
|
725
|
+
idempotency_key: {
|
|
726
|
+
type: "string",
|
|
727
|
+
description: IDEMPOTENCY_KEY_DESCRIPTION,
|
|
728
|
+
},
|
|
712
729
|
},
|
|
713
730
|
required: ["type", "subject", "body"],
|
|
714
731
|
},
|
|
@@ -766,6 +783,10 @@ export function registerTools() {
|
|
|
766
783
|
type: "string",
|
|
767
784
|
description: "Reply content",
|
|
768
785
|
},
|
|
786
|
+
idempotency_key: {
|
|
787
|
+
type: "string",
|
|
788
|
+
description: IDEMPOTENCY_KEY_DESCRIPTION,
|
|
789
|
+
},
|
|
769
790
|
},
|
|
770
791
|
required: ["message_id", "body"],
|
|
771
792
|
},
|
|
@@ -3707,8 +3728,9 @@ export async function handleToolCall(name, args, client, context) {
|
|
|
3707
3728
|
subject: args.subject,
|
|
3708
3729
|
body: args.body,
|
|
3709
3730
|
priority: args.priority,
|
|
3731
|
+
idempotency_key: args.idempotency_key,
|
|
3710
3732
|
});
|
|
3711
|
-
return wrapWithPendingItems(client, agentId, result, context);
|
|
3733
|
+
return wrapWithPendingItems(client, agentId, describeSendResult(result), context);
|
|
3712
3734
|
}
|
|
3713
3735
|
case "send_to_channel": {
|
|
3714
3736
|
if (!agentId)
|
|
@@ -3719,8 +3741,9 @@ export async function handleToolCall(name, args, client, context) {
|
|
|
3719
3741
|
type: args.type,
|
|
3720
3742
|
subject: args.subject,
|
|
3721
3743
|
body: args.body,
|
|
3744
|
+
idempotency_key: args.idempotency_key,
|
|
3722
3745
|
});
|
|
3723
|
-
return wrapWithPendingItems(client, agentId, result, context);
|
|
3746
|
+
return wrapWithPendingItems(client, agentId, describeSendResult(result), context);
|
|
3724
3747
|
}
|
|
3725
3748
|
case "broadcast": {
|
|
3726
3749
|
if (!agentId)
|
|
@@ -3731,8 +3754,9 @@ export async function handleToolCall(name, args, client, context) {
|
|
|
3731
3754
|
type: args.type,
|
|
3732
3755
|
subject: args.subject,
|
|
3733
3756
|
body: args.body,
|
|
3757
|
+
idempotency_key: args.idempotency_key,
|
|
3734
3758
|
});
|
|
3735
|
-
return wrapWithPendingItems(client, agentId, result, context);
|
|
3759
|
+
return wrapWithPendingItems(client, agentId, describeSendResult(result), context);
|
|
3736
3760
|
}
|
|
3737
3761
|
case "check_inbox": {
|
|
3738
3762
|
// No wrapping - already fetching messages.
|
|
@@ -3756,8 +3780,8 @@ export async function handleToolCall(name, args, client, context) {
|
|
|
3756
3780
|
case "reply": {
|
|
3757
3781
|
if (!agentId)
|
|
3758
3782
|
throw new Error("Not registered. Call agent_register first.");
|
|
3759
|
-
const result = await client.reply(args.message_id, agentId, args.body);
|
|
3760
|
-
return wrapWithPendingItems(client, agentId, result, context);
|
|
3783
|
+
const result = await client.reply(args.message_id, agentId, args.body, args.idempotency_key);
|
|
3784
|
+
return wrapWithPendingItems(client, agentId, describeSendResult(result), context);
|
|
3761
3785
|
}
|
|
3762
3786
|
case "deliver_file": {
|
|
3763
3787
|
if (!agentId)
|