@agent-relay/mcp 2.0.13 → 2.0.14
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/README.md +24 -3
- package/dist/bin.js +13 -5
- package/dist/bin.js.map +1 -1
- package/dist/client.d.ts +54 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +132 -18
- package/dist/client.js.map +1 -1
- package/dist/cloud.d.ts +12 -0
- package/dist/cloud.d.ts.map +1 -1
- package/dist/cloud.js +125 -1
- package/dist/cloud.js.map +1 -1
- package/dist/file-transport.d.ts +97 -0
- package/dist/file-transport.d.ts.map +1 -0
- package/dist/file-transport.js +197 -0
- package/dist/file-transport.js.map +1 -0
- package/dist/hybrid-client.d.ts +28 -0
- package/dist/hybrid-client.d.ts.map +1 -0
- package/dist/hybrid-client.js +159 -0
- package/dist/hybrid-client.js.map +1 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/install.d.ts +23 -1
- package/dist/install.d.ts.map +1 -1
- package/dist/install.js +229 -31
- package/dist/install.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +7 -1
- package/dist/server.js.map +1 -1
- package/dist/simple.d.ts +1 -1
- package/dist/simple.d.ts.map +1 -1
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +1 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/relay-continuity.d.ts +35 -0
- package/dist/tools/relay-continuity.d.ts.map +1 -0
- package/dist/tools/relay-continuity.js +101 -0
- package/dist/tools/relay-continuity.js.map +1 -0
- package/dist/tools/relay-health.d.ts +1 -4
- package/dist/tools/relay-health.d.ts.map +1 -1
- package/dist/tools/relay-health.js +7 -15
- package/dist/tools/relay-health.js.map +1 -1
- package/dist/tools/relay-logs.d.ts.map +1 -1
- package/dist/tools/relay-logs.js +4 -2
- package/dist/tools/relay-logs.js.map +1 -1
- package/dist/tools/relay-metrics.d.ts +1 -4
- package/dist/tools/relay-metrics.d.ts.map +1 -1
- package/dist/tools/relay-metrics.js +4 -15
- package/dist/tools/relay-metrics.js.map +1 -1
- package/dist/tools/relay-send.d.ts +2 -2
- package/package.json +3 -2
package/dist/cloud.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud.js","sourceRoot":"","sources":["../src/cloud.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cloud.js","sourceRoot":"","sources":["../src/cloud.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AA4BtD,+EAA+E;AAC/E,4BAA4B;AAC5B,+EAA+E;AAE/E;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IAC7C,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;IAE9C,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,WAAW;QACX,WAAW;QACX,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe;QAC3C,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB;KACjD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,oBAAoB,EAAE,KAAK,IAAI,CAAC;AACzC,CAAC;AAED,+EAA+E;AAC/E,mCAAmC;AACnC,+EAA+E;AAE/E;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,WAAmB;IACpD,OAAO,cAAc,WAAW,sBAAsB,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,WAAmB,EAAE,SAAiB;IACvE,OAAO,cAAc,WAAW,WAAW,SAAS,EAAE,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,SAAS,UAAU;IACjB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAElC,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,aAAa,CAAC,CAAC;IAC1E,CAAC;SAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,OAAO,EAAE,EAAE,aAAa,CAAC,CAAC;IAC/D,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CACT,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,EAC/D,aAAa,CACd,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,cAAc,CAAC,UAAkC,EAAE;IACjE,8BAA8B;IAC9B,IAAI,OAAO,CAAC,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACzD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS;YACjC,CAAC,CAAE;gBACC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,WAAW,IAAI,UAAU;gBACxD,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,WAAW,IAAI,EAAE;aAC9B;YACtB,CAAC,CAAC,SAAS,CAAC;QAEd,OAAO;YACL,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,OAAO,EAAE,SAAS,EAAE,WAAW,IAAI,UAAU;YAC7C,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,CAAC,CAAC,SAAS;YACpB,SAAS;SACV,CAAC;IACJ,CAAC;IAED,2CAA2C;IAC3C,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IAC3C,IAAI,SAAS,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,oBAAoB,EAAE,CAAC;QACzC,OAAO;YACL,UAAU,EAAE,SAAS;YACrB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,SAAS,EAAE,WAAW,IAAI,SAAS;YACzE,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,CAAC,CAAC,SAAS;YACpB,SAAS,EAAE,SAAS,IAAI,SAAS;SAClC,CAAC;IACJ,CAAC;IAED,sEAAsE;IACtE,MAAM,SAAS,GAAG,oBAAoB,EAAE,CAAC;IACzC,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,WAAW,GAAG,kBAAkB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5B,OAAO;gBACL,UAAU,EAAE,WAAW;gBACvB,OAAO,EAAE,SAAS,CAAC,WAAW;gBAC9B,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,IAAI;gBACb,SAAS;aACV,CAAC;QACJ,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;IAC7C,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QAC3E,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC9B,OAAO;gBACL,UAAU,EAAE,aAAa;gBACzB,OAAO,EAAE,UAAU;gBACnB,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,KAAK;aACf,CAAC;QACJ,CAAC;IACH,CAAC;IAED,kFAAkF;IAClF,iDAAiD;IACjD,mDAAmD;IACnD,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACnC,IAAI,WAAW,IAAI,WAAW,KAAK,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;QACjD,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;QACnE,IAAI,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACnC,gDAAgD;YAChD,IAAI,SAAS,GAAG,OAAO,CAAC;YACxB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;YACzD,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3B,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;oBAC7D,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,OAAO,CAAC;gBAC1C,CAAC;gBAAC,MAAM,CAAC;oBACP,4BAA4B;gBAC9B,CAAC;YACH,CAAC;YACD,OAAO;gBACL,UAAU,EAAE,kBAAkB;gBAC9B,OAAO,EAAE,SAAS;gBAClB,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,KAAK;aACf,CAAC;QACJ,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IAC/D,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;YAC5D,IAAI,MAAM,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBACvD,OAAO;oBACL,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,OAAO;oBAClC,MAAM,EAAE,KAAK;oBACb,OAAO,EAAE,KAAK;iBACf,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,mFAAmF;YACnF,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACjD,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;IACH,CAAC;IAED,4CAA4C;IAC5C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAE9C,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;iBAC/D,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;iBAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAEtB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;gBAC7D,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC3B,OAAO;wBACL,UAAU;wBACV,OAAO;wBACP,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE,KAAK;qBACf,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,8DAA8D;YAC9D,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACjD,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,SAAyB,EACzB,IAAY,EACZ,UAAuB,EAAE;IAEzB,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC,WAAW,GAAG,IAAI,EAAE,CAAC;IAE9C,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,kBAAkB;QAClC,GAAI,OAAO,CAAC,OAAkC;KAC/C,CAAC;IAEF,IAAI,SAAS,CAAC,cAAc,EAAE,CAAC;QAC7B,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,SAAS,CAAC,cAAc,EAAE,CAAC;IAClE,CAAC;IAED,OAAO,KAAK,CAAC,GAAG,EAAE;QAChB,GAAG,OAAO;QACV,OAAO;KACR,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,SAAyB;IAEzB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,eAAe,CACpC,SAAS,EACT,mBAAmB,SAAS,CAAC,WAAW,SAAS,CAClD,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA0C,CAAC;IAC1E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAcD;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAC/B,UAAkC,EAAE;IAEpC,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAE1C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAwB;QAChC,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,SAAS,EAAE,SAAS,CAAC,SAAS;KAC/B,CAAC;IAEF,2EAA2E;IAC3E,IAAI,SAAS,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC;IACnD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B;IACxC,OAAO;QACL,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;QACtC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;QACxC,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QAClE,uBAAuB,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB;QAC5D,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;QACtC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;QACxC,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB;KAC/C,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,2BAA2B;AAC3B,+EAA+E;AAE/E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAAkC;IAClE,mCAAmC;IACnC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAC7C,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,6CAA6C;IAC7C,oDAAoD;IACpD,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACnC,IAAI,WAAW,IAAI,WAAW,KAAK,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;QACjD,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,SAAS;QAEpC,6CAA6C;QAC7C,0DAA0D;QAC1D,6DAA6D;QAC7D,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,EAAE,gBAAgB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACvE,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC9D,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,OAAO,CAAC;gBACjB,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,qBAAqB;YACvB,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,+EAA+E;QAC/E,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;iBACzD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;iBAC/D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACX,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC;gBAC5B,IAAI,EAAE,CAAC,CAAC,IAAI;aACb,CAAC,CAAC,CAAC;YAEN,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,+DAA+D;gBAC/D,MAAM,MAAM,GAAG,KAAK;qBACjB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACT,IAAI,CAAC;wBACH,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBAC9B,OAAO,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;oBACvC,CAAC;oBAAC,MAAM,CAAC;wBACP,OAAO,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;oBAC5B,CAAC;gBACH,CAAC,CAAC;qBACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;gBAErC,kDAAkD;gBAClD,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACzB,IAAI,MAAM,EAAE,CAAC;oBACX,IAAI,CAAC;wBACH,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;wBAC1D,IAAI,OAAO,EAAE,CAAC;4BACZ,OAAO,OAAO,CAAC;wBACjB,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,SAAS;oBACX,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,qBAAqB;QACvB,CAAC;QAED,gEAAgE;QAChE,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QACpD,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC3D,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,OAAO,CAAC;gBACjB,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,qBAAqB;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED,0CAA0C;IAC1C,6DAA6D;IAC7D,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;QACtD,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;qBAC3D,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;qBAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAEtB,qDAAqD;gBACrD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxB,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;gBACnB,CAAC;gBAED,6DAA6D;gBAC7D,mDAAmD;YACrD,CAAC;YAAC,MAAM,CAAC;gBACP,qBAAqB;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* File-Based Transport for MCP Tools
|
|
3
|
+
*
|
|
4
|
+
* Uses the same file-based protocol as relay-pty for reliable communication.
|
|
5
|
+
* This ensures parity between MCP tools and file-based agent communication.
|
|
6
|
+
*
|
|
7
|
+
* Protocol:
|
|
8
|
+
* - Send: Write to outbox/msg with TO: header
|
|
9
|
+
* - Spawn: Write to outbox/spawn with KIND: spawn
|
|
10
|
+
* - Release: Write to outbox/release with KIND: release
|
|
11
|
+
* - Queries: Write to outbox/query-{id}, read from inbox/response-{id}
|
|
12
|
+
*/
|
|
13
|
+
export interface FileTransportOptions {
|
|
14
|
+
/** Agent name for outbox/inbox directories */
|
|
15
|
+
agentName: string;
|
|
16
|
+
/** Base directory for .agent-relay (project root) */
|
|
17
|
+
baseDir: string;
|
|
18
|
+
/** Timeout for query responses in ms */
|
|
19
|
+
queryTimeout?: number;
|
|
20
|
+
}
|
|
21
|
+
export interface SendOptions {
|
|
22
|
+
to: string;
|
|
23
|
+
message: string;
|
|
24
|
+
thread?: string;
|
|
25
|
+
}
|
|
26
|
+
export interface SpawnOptions {
|
|
27
|
+
name: string;
|
|
28
|
+
cli: string;
|
|
29
|
+
task: string;
|
|
30
|
+
model?: string;
|
|
31
|
+
cwd?: string;
|
|
32
|
+
}
|
|
33
|
+
export interface ReleaseOptions {
|
|
34
|
+
name: string;
|
|
35
|
+
reason?: string;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* File-based transport that mirrors the relay-pty file protocol.
|
|
39
|
+
*/
|
|
40
|
+
export declare class FileTransport {
|
|
41
|
+
private outboxDir;
|
|
42
|
+
private inboxDir;
|
|
43
|
+
private queryTimeout;
|
|
44
|
+
constructor(options: FileTransportOptions);
|
|
45
|
+
/**
|
|
46
|
+
* Send a message using file-based protocol.
|
|
47
|
+
* Writes to outbox/msg in the format expected by relay-pty.
|
|
48
|
+
*/
|
|
49
|
+
send(options: SendOptions): Promise<void>;
|
|
50
|
+
/**
|
|
51
|
+
* Spawn an agent using file-based protocol.
|
|
52
|
+
*/
|
|
53
|
+
spawn(options: SpawnOptions): Promise<{
|
|
54
|
+
success: boolean;
|
|
55
|
+
error?: string;
|
|
56
|
+
}>;
|
|
57
|
+
/**
|
|
58
|
+
* Release an agent using file-based protocol.
|
|
59
|
+
*/
|
|
60
|
+
release(options: ReleaseOptions): Promise<{
|
|
61
|
+
success: boolean;
|
|
62
|
+
error?: string;
|
|
63
|
+
}>;
|
|
64
|
+
/**
|
|
65
|
+
* Check inbox for messages.
|
|
66
|
+
* Reads message files from the inbox directory.
|
|
67
|
+
*/
|
|
68
|
+
getInbox(options?: {
|
|
69
|
+
unreadOnly?: boolean;
|
|
70
|
+
limit?: number;
|
|
71
|
+
}): Promise<Array<{
|
|
72
|
+
id: string;
|
|
73
|
+
from: string;
|
|
74
|
+
content: string;
|
|
75
|
+
timestamp: number;
|
|
76
|
+
thread?: string;
|
|
77
|
+
channel?: string;
|
|
78
|
+
}>>;
|
|
79
|
+
/**
|
|
80
|
+
* Get outbox directory path (for external use).
|
|
81
|
+
*/
|
|
82
|
+
getOutboxPath(): string;
|
|
83
|
+
/**
|
|
84
|
+
* Get inbox directory path (for external use).
|
|
85
|
+
*/
|
|
86
|
+
getInboxPath(): string;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Create a file transport instance.
|
|
90
|
+
*/
|
|
91
|
+
export declare function createFileTransport(options: FileTransportOptions): FileTransport;
|
|
92
|
+
/**
|
|
93
|
+
* Discover the base directory for file-based protocol.
|
|
94
|
+
* Looks for .agent-relay directory in cwd or parent directories.
|
|
95
|
+
*/
|
|
96
|
+
export declare function discoverBaseDir(): string | null;
|
|
97
|
+
//# sourceMappingURL=file-transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-transport.d.ts","sourceRoot":"","sources":["../src/file-transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,MAAM,WAAW,oBAAoB;IACnC,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,YAAY,CAAS;gBAEjB,OAAO,EAAE,oBAAoB;IAezC;;;OAGG;IACG,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB/C;;OAEG;IACG,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAsBjF;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAerF;;;OAGG;IACG,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,KAAK,CAAC;QAChF,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IAwEH;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,YAAY,IAAI,MAAM;CAGvB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAEhF;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,MAAM,GAAG,IAAI,CAyB/C"}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* File-Based Transport for MCP Tools
|
|
3
|
+
*
|
|
4
|
+
* Uses the same file-based protocol as relay-pty for reliable communication.
|
|
5
|
+
* This ensures parity between MCP tools and file-based agent communication.
|
|
6
|
+
*
|
|
7
|
+
* Protocol:
|
|
8
|
+
* - Send: Write to outbox/msg with TO: header
|
|
9
|
+
* - Spawn: Write to outbox/spawn with KIND: spawn
|
|
10
|
+
* - Release: Write to outbox/release with KIND: release
|
|
11
|
+
* - Queries: Write to outbox/query-{id}, read from inbox/response-{id}
|
|
12
|
+
*/
|
|
13
|
+
import { existsSync, mkdirSync, writeFileSync, readFileSync, unlinkSync, readdirSync } from 'node:fs';
|
|
14
|
+
import { join } from 'node:path';
|
|
15
|
+
/**
|
|
16
|
+
* File-based transport that mirrors the relay-pty file protocol.
|
|
17
|
+
*/
|
|
18
|
+
export class FileTransport {
|
|
19
|
+
outboxDir;
|
|
20
|
+
inboxDir;
|
|
21
|
+
queryTimeout;
|
|
22
|
+
constructor(options) {
|
|
23
|
+
const relayDir = join(options.baseDir, '.agent-relay');
|
|
24
|
+
this.outboxDir = join(relayDir, 'outbox', options.agentName);
|
|
25
|
+
this.inboxDir = join(relayDir, 'inbox', options.agentName);
|
|
26
|
+
this.queryTimeout = options.queryTimeout ?? 5000;
|
|
27
|
+
// Ensure directories exist
|
|
28
|
+
if (!existsSync(this.outboxDir)) {
|
|
29
|
+
mkdirSync(this.outboxDir, { recursive: true });
|
|
30
|
+
}
|
|
31
|
+
if (!existsSync(this.inboxDir)) {
|
|
32
|
+
mkdirSync(this.inboxDir, { recursive: true });
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Send a message using file-based protocol.
|
|
37
|
+
* Writes to outbox/msg in the format expected by relay-pty.
|
|
38
|
+
*/
|
|
39
|
+
async send(options) {
|
|
40
|
+
const { to, message, thread } = options;
|
|
41
|
+
// Build message content in relay file format
|
|
42
|
+
let content = `TO: ${to}\n`;
|
|
43
|
+
if (thread) {
|
|
44
|
+
content += `THREAD: ${thread}\n`;
|
|
45
|
+
}
|
|
46
|
+
content += `\n${message}`;
|
|
47
|
+
// Write to outbox
|
|
48
|
+
const msgPath = join(this.outboxDir, 'msg');
|
|
49
|
+
writeFileSync(msgPath, content);
|
|
50
|
+
// The daemon watches for outbox files and processes them
|
|
51
|
+
// No need to trigger - daemon file watcher picks it up
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Spawn an agent using file-based protocol.
|
|
55
|
+
*/
|
|
56
|
+
async spawn(options) {
|
|
57
|
+
const { name, cli, task, model, cwd } = options;
|
|
58
|
+
// Build spawn content
|
|
59
|
+
let content = `KIND: spawn\n`;
|
|
60
|
+
content += `NAME: ${name}\n`;
|
|
61
|
+
content += `CLI: ${cli}\n`;
|
|
62
|
+
if (model) {
|
|
63
|
+
content += `MODEL: ${model}\n`;
|
|
64
|
+
}
|
|
65
|
+
if (cwd) {
|
|
66
|
+
content += `CWD: ${cwd}\n`;
|
|
67
|
+
}
|
|
68
|
+
content += `\n${task}`;
|
|
69
|
+
// Write to outbox
|
|
70
|
+
const spawnPath = join(this.outboxDir, 'spawn');
|
|
71
|
+
writeFileSync(spawnPath, content);
|
|
72
|
+
return { success: true };
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Release an agent using file-based protocol.
|
|
76
|
+
*/
|
|
77
|
+
async release(options) {
|
|
78
|
+
const { name, reason } = options;
|
|
79
|
+
let content = `KIND: release\n`;
|
|
80
|
+
content += `NAME: ${name}\n`;
|
|
81
|
+
if (reason) {
|
|
82
|
+
content += `\n${reason}`;
|
|
83
|
+
}
|
|
84
|
+
const releasePath = join(this.outboxDir, 'release');
|
|
85
|
+
writeFileSync(releasePath, content);
|
|
86
|
+
return { success: true };
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Check inbox for messages.
|
|
90
|
+
* Reads message files from the inbox directory.
|
|
91
|
+
*/
|
|
92
|
+
async getInbox(options) {
|
|
93
|
+
const messages = [];
|
|
94
|
+
if (!existsSync(this.inboxDir)) {
|
|
95
|
+
return messages;
|
|
96
|
+
}
|
|
97
|
+
try {
|
|
98
|
+
const files = readdirSync(this.inboxDir, { withFileTypes: true })
|
|
99
|
+
.filter(d => d.isFile() && !d.name.startsWith('.'))
|
|
100
|
+
.slice(0, options?.limit ?? 50);
|
|
101
|
+
for (const file of files) {
|
|
102
|
+
try {
|
|
103
|
+
const filePath = join(this.inboxDir, file.name);
|
|
104
|
+
const content = readFileSync(filePath, 'utf-8');
|
|
105
|
+
// Parse message format: FROM: X\nTHREAD: Y\n\nBody
|
|
106
|
+
const lines = content.split('\n');
|
|
107
|
+
let from = 'unknown';
|
|
108
|
+
let thread;
|
|
109
|
+
let channel;
|
|
110
|
+
let bodyStart = 0;
|
|
111
|
+
for (let i = 0; i < lines.length; i++) {
|
|
112
|
+
const line = lines[i];
|
|
113
|
+
if (line === '') {
|
|
114
|
+
bodyStart = i + 1;
|
|
115
|
+
break;
|
|
116
|
+
}
|
|
117
|
+
if (line.startsWith('FROM: ')) {
|
|
118
|
+
from = line.slice(6).trim();
|
|
119
|
+
}
|
|
120
|
+
else if (line.startsWith('THREAD: ')) {
|
|
121
|
+
thread = line.slice(8).trim();
|
|
122
|
+
}
|
|
123
|
+
else if (line.startsWith('CHANNEL: ')) {
|
|
124
|
+
channel = line.slice(9).trim();
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
const body = lines.slice(bodyStart).join('\n');
|
|
128
|
+
messages.push({
|
|
129
|
+
id: file.name,
|
|
130
|
+
from,
|
|
131
|
+
content: body,
|
|
132
|
+
timestamp: Date.now(), // Could get from file mtime
|
|
133
|
+
thread,
|
|
134
|
+
channel,
|
|
135
|
+
});
|
|
136
|
+
// If unreadOnly, delete after reading
|
|
137
|
+
if (options?.unreadOnly) {
|
|
138
|
+
unlinkSync(filePath);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
catch {
|
|
142
|
+
// Skip files that can't be read
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
catch {
|
|
147
|
+
// Directory read error
|
|
148
|
+
}
|
|
149
|
+
return messages;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Get outbox directory path (for external use).
|
|
153
|
+
*/
|
|
154
|
+
getOutboxPath() {
|
|
155
|
+
return this.outboxDir;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Get inbox directory path (for external use).
|
|
159
|
+
*/
|
|
160
|
+
getInboxPath() {
|
|
161
|
+
return this.inboxDir;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Create a file transport instance.
|
|
166
|
+
*/
|
|
167
|
+
export function createFileTransport(options) {
|
|
168
|
+
return new FileTransport(options);
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Discover the base directory for file-based protocol.
|
|
172
|
+
* Looks for .agent-relay directory in cwd or parent directories.
|
|
173
|
+
*/
|
|
174
|
+
export function discoverBaseDir() {
|
|
175
|
+
// Check environment variable first
|
|
176
|
+
const envSocket = process.env.RELAY_SOCKET;
|
|
177
|
+
if (envSocket) {
|
|
178
|
+
// Socket path is like /path/to/project/.agent-relay/relay.sock
|
|
179
|
+
// Base dir is the parent of .agent-relay
|
|
180
|
+
const parts = envSocket.split('.agent-relay');
|
|
181
|
+
if (parts.length > 1) {
|
|
182
|
+
return parts[0].replace(/\/$/, '');
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
// Search from cwd upward
|
|
186
|
+
let dir = process.cwd();
|
|
187
|
+
const root = '/';
|
|
188
|
+
while (dir !== root) {
|
|
189
|
+
const relayDir = join(dir, '.agent-relay');
|
|
190
|
+
if (existsSync(relayDir)) {
|
|
191
|
+
return dir;
|
|
192
|
+
}
|
|
193
|
+
dir = join(dir, '..');
|
|
194
|
+
}
|
|
195
|
+
return null;
|
|
196
|
+
}
|
|
197
|
+
//# sourceMappingURL=file-transport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-transport.js","sourceRoot":"","sources":["../src/file-transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hybrid Client for MCP Tools
|
|
3
|
+
*
|
|
4
|
+
* Uses file-based transport for writes (reliable) and socket for queries.
|
|
5
|
+
* This gives the best of both worlds:
|
|
6
|
+
* - Writes go through proven file-based protocol (no timeouts)
|
|
7
|
+
* - Queries use efficient socket communication
|
|
8
|
+
*/
|
|
9
|
+
import type { RelayClient } from './client.js';
|
|
10
|
+
export interface HybridClientOptions {
|
|
11
|
+
/** Agent name */
|
|
12
|
+
agentName: string;
|
|
13
|
+
/** Project root directory (where .agent-relay lives) */
|
|
14
|
+
projectRoot: string;
|
|
15
|
+
/** Socket path (optional, will discover if not provided) */
|
|
16
|
+
socketPath?: string;
|
|
17
|
+
/** Project ID */
|
|
18
|
+
project?: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Create a hybrid client that uses file-based for writes, socket for queries.
|
|
22
|
+
*/
|
|
23
|
+
export declare function createHybridClient(options: HybridClientOptions): RelayClient;
|
|
24
|
+
/**
|
|
25
|
+
* Discover project root from socket path or environment.
|
|
26
|
+
*/
|
|
27
|
+
export declare function discoverProjectRoot(): string | null;
|
|
28
|
+
//# sourceMappingURL=hybrid-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hybrid-client.d.ts","sourceRoot":"","sources":["../src/hybrid-client.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI/C,MAAM,WAAW,mBAAmB;IAClC,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,WAAW,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,WAAW,CAuJ5E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAqBnD"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hybrid Client for MCP Tools
|
|
3
|
+
*
|
|
4
|
+
* Uses file-based transport for writes (reliable) and socket for queries.
|
|
5
|
+
* This gives the best of both worlds:
|
|
6
|
+
* - Writes go through proven file-based protocol (no timeouts)
|
|
7
|
+
* - Queries use efficient socket communication
|
|
8
|
+
*/
|
|
9
|
+
import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
|
|
10
|
+
import { join, dirname } from 'node:path';
|
|
11
|
+
import { createRelayClient } from './client.js';
|
|
12
|
+
import { discoverSocket } from './cloud.js';
|
|
13
|
+
/**
|
|
14
|
+
* Create a hybrid client that uses file-based for writes, socket for queries.
|
|
15
|
+
*/
|
|
16
|
+
export function createHybridClient(options) {
|
|
17
|
+
const { agentName, projectRoot, project = 'default' } = options;
|
|
18
|
+
// Setup directories
|
|
19
|
+
const relayDir = join(projectRoot, '.agent-relay');
|
|
20
|
+
const outboxDir = join(relayDir, 'outbox', agentName);
|
|
21
|
+
const inboxDir = join(relayDir, 'inbox', agentName);
|
|
22
|
+
// Ensure directories exist
|
|
23
|
+
if (!existsSync(outboxDir)) {
|
|
24
|
+
mkdirSync(outboxDir, { recursive: true });
|
|
25
|
+
}
|
|
26
|
+
if (!existsSync(inboxDir)) {
|
|
27
|
+
mkdirSync(inboxDir, { recursive: true });
|
|
28
|
+
}
|
|
29
|
+
// Get socket path for queries
|
|
30
|
+
const socketPath = options.socketPath || discoverSocket()?.socketPath || join(relayDir, 'relay.sock');
|
|
31
|
+
// Create socket client for queries only
|
|
32
|
+
let socketClient = null;
|
|
33
|
+
const getSocketClient = () => {
|
|
34
|
+
if (!socketClient) {
|
|
35
|
+
socketClient = createRelayClient({
|
|
36
|
+
agentName,
|
|
37
|
+
socketPath,
|
|
38
|
+
project,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
return socketClient;
|
|
42
|
+
};
|
|
43
|
+
// File-based send (write to outbox)
|
|
44
|
+
const send = async (to, message, opts = {}) => {
|
|
45
|
+
let content = `TO: ${to}\n`;
|
|
46
|
+
if (opts.thread) {
|
|
47
|
+
content += `THREAD: ${opts.thread}\n`;
|
|
48
|
+
}
|
|
49
|
+
content += `\n${message}`;
|
|
50
|
+
const msgPath = join(outboxDir, 'msg');
|
|
51
|
+
writeFileSync(msgPath, content);
|
|
52
|
+
// Daemon watches outbox and processes
|
|
53
|
+
};
|
|
54
|
+
// File-based sendAndWait (for now, delegate to socket - can improve later)
|
|
55
|
+
const sendAndWait = async (to, message, opts = {}) => {
|
|
56
|
+
// For await responses, we still use socket since we need the response
|
|
57
|
+
// TODO: Implement file-based request/response pattern
|
|
58
|
+
return getSocketClient().sendAndWait(to, message, opts);
|
|
59
|
+
};
|
|
60
|
+
// File-based spawn
|
|
61
|
+
const spawn = async (opts) => {
|
|
62
|
+
let content = `KIND: spawn\n`;
|
|
63
|
+
content += `NAME: ${opts.name}\n`;
|
|
64
|
+
content += `CLI: ${opts.cli}\n`;
|
|
65
|
+
if (opts.model) {
|
|
66
|
+
content += `MODEL: ${opts.model}\n`;
|
|
67
|
+
}
|
|
68
|
+
if (opts.cwd) {
|
|
69
|
+
content += `CWD: ${opts.cwd}\n`;
|
|
70
|
+
}
|
|
71
|
+
content += `\n${opts.task}`;
|
|
72
|
+
const spawnPath = join(outboxDir, 'spawn');
|
|
73
|
+
writeFileSync(spawnPath, content);
|
|
74
|
+
return { success: true };
|
|
75
|
+
};
|
|
76
|
+
// File-based release
|
|
77
|
+
const release = async (name, reason) => {
|
|
78
|
+
let content = `KIND: release\n`;
|
|
79
|
+
content += `NAME: ${name}\n`;
|
|
80
|
+
if (reason) {
|
|
81
|
+
content += `\n${reason}`;
|
|
82
|
+
}
|
|
83
|
+
const releasePath = join(outboxDir, 'release');
|
|
84
|
+
writeFileSync(releasePath, content);
|
|
85
|
+
return { success: true };
|
|
86
|
+
};
|
|
87
|
+
// File-based continuity (NEW - not in original MCP)
|
|
88
|
+
const saveContinuity = async (state) => {
|
|
89
|
+
let content = `KIND: continuity\n`;
|
|
90
|
+
content += `ACTION: save\n\n`;
|
|
91
|
+
if (state.currentTask)
|
|
92
|
+
content += `Current task: ${state.currentTask}\n`;
|
|
93
|
+
if (state.completed)
|
|
94
|
+
content += `Completed: ${state.completed}\n`;
|
|
95
|
+
if (state.inProgress)
|
|
96
|
+
content += `In progress: ${state.inProgress}\n`;
|
|
97
|
+
if (state.keyDecisions)
|
|
98
|
+
content += `Key decisions: ${state.keyDecisions}\n`;
|
|
99
|
+
if (state.files)
|
|
100
|
+
content += `Files: ${state.files}\n`;
|
|
101
|
+
const continuityPath = join(outboxDir, 'continuity');
|
|
102
|
+
writeFileSync(continuityPath, content);
|
|
103
|
+
};
|
|
104
|
+
const loadContinuity = async () => {
|
|
105
|
+
const content = `KIND: continuity\nACTION: load\n`;
|
|
106
|
+
const continuityPath = join(outboxDir, 'continuity');
|
|
107
|
+
writeFileSync(continuityPath, content);
|
|
108
|
+
};
|
|
109
|
+
const markUncertain = async (item) => {
|
|
110
|
+
const content = `KIND: continuity\nACTION: uncertain\n\n${item}`;
|
|
111
|
+
const continuityPath = join(outboxDir, 'continuity');
|
|
112
|
+
writeFileSync(continuityPath, content);
|
|
113
|
+
};
|
|
114
|
+
// Socket-based queries (these work fine over socket)
|
|
115
|
+
const getStatus = async () => getSocketClient().getStatus();
|
|
116
|
+
const getInbox = async (opts) => getSocketClient().getInbox(opts);
|
|
117
|
+
const listAgents = async (opts) => getSocketClient().listAgents(opts);
|
|
118
|
+
const getHealth = async (opts) => getSocketClient().getHealth(opts);
|
|
119
|
+
const getMetrics = async (opts) => getSocketClient().getMetrics(opts);
|
|
120
|
+
return {
|
|
121
|
+
send,
|
|
122
|
+
sendAndWait,
|
|
123
|
+
spawn,
|
|
124
|
+
release,
|
|
125
|
+
getStatus,
|
|
126
|
+
getInbox,
|
|
127
|
+
listAgents,
|
|
128
|
+
getHealth,
|
|
129
|
+
getMetrics,
|
|
130
|
+
// Extended methods (not in base RelayClient interface but useful)
|
|
131
|
+
saveContinuity,
|
|
132
|
+
loadContinuity,
|
|
133
|
+
markUncertain,
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Discover project root from socket path or environment.
|
|
138
|
+
*/
|
|
139
|
+
export function discoverProjectRoot() {
|
|
140
|
+
// Check RELAY_SOCKET env var
|
|
141
|
+
const socketEnv = process.env.RELAY_SOCKET;
|
|
142
|
+
if (socketEnv) {
|
|
143
|
+
// Socket path is like /path/to/project/.agent-relay/relay.sock
|
|
144
|
+
const match = socketEnv.match(/^(.+)\/\.agent-relay\/relay\.sock$/);
|
|
145
|
+
if (match) {
|
|
146
|
+
return match[1];
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
// Search from cwd upward
|
|
150
|
+
let dir = process.cwd();
|
|
151
|
+
while (dir !== '/') {
|
|
152
|
+
if (existsSync(join(dir, '.agent-relay'))) {
|
|
153
|
+
return dir;
|
|
154
|
+
}
|
|
155
|
+
dir = dirname(dir);
|
|
156
|
+
}
|
|
157
|
+
return null;
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=hybrid-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hybrid-client.js","sourceRoot":"","sources":["../src/hybrid-client.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
export type { RelayClient } from './client.js';
|
|
2
2
|
export { createRelayClient } from './client.js';
|
|
3
|
+
export { createHybridClient, discoverProjectRoot } from './hybrid-client.js';
|
|
3
4
|
export { createTools, send, inbox, who, type RelayTools, type ToolsConfig, type Message, type Agent, type Status, type SpawnResult, } from './simple.js';
|
|
4
5
|
export { createMCPServer, runMCPServer, type MCPServerConfig } from './server.js';
|
|
5
|
-
export { relaySendTool, relaySendSchema, handleRelaySend, type RelaySendInput, relayInboxTool, relayInboxSchema, handleRelayInbox, type RelayInboxInput, relayWhoTool, relayWhoSchema, handleRelayWho, type RelayWhoInput, relaySpawnTool, relaySpawnSchema, handleRelaySpawn, type RelaySpawnInput, relayReleaseTool, relayReleaseSchema, handleRelayRelease, type RelayReleaseInput, relayStatusTool, relayStatusSchema, handleRelayStatus, type RelayStatusInput, } from './tools/index.js';
|
|
6
|
+
export { relaySendTool, relaySendSchema, handleRelaySend, type RelaySendInput, relayInboxTool, relayInboxSchema, handleRelayInbox, type RelayInboxInput, relayWhoTool, relayWhoSchema, handleRelayWho, type RelayWhoInput, relaySpawnTool, relaySpawnSchema, handleRelaySpawn, type RelaySpawnInput, relayReleaseTool, relayReleaseSchema, handleRelayRelease, type RelayReleaseInput, relayStatusTool, relayStatusSchema, handleRelayStatus, type RelayStatusInput, relayLogsTool, relayLogsSchema, handleRelayLogs, type RelayLogsInput, relayMetricsTool, relayMetricsSchema, handleRelayMetrics, type RelayMetricsInput, relayHealthTool, relayHealthSchema, handleRelayHealth, type RelayHealthInput, relayContinuityTool, relayContinuitySchema, handleRelayContinuity, type RelayContinuityInput, } from './tools/index.js';
|
|
6
7
|
export { protocolPrompt, getProtocolPrompt, PROTOCOL_DOCUMENTATION } from './prompts/index.js';
|
|
7
8
|
export { agentsResource, getAgentsResource, inboxResource, getInboxResource, projectResource, getProjectResource, } from './resources/index.js';
|
|
8
9
|
export { RelayError, DaemonNotRunningError, AgentNotFoundError, TimeoutError, ConnectionError, ChannelNotFoundError, SpawnError, } from './errors.js';
|
|
9
|
-
export { discoverSocket, detectCloudWorkspace, isCloudWorkspace, getCloudSocketPath, getConnectionInfo, type DiscoveryResult, type CloudWorkspace, type CloudConnectionInfo, } from './cloud.js';
|
|
10
|
+
export { discoverSocket, discoverAgentName, detectCloudWorkspace, isCloudWorkspace, getCloudSocketPath, getConnectionInfo, type DiscoveryResult, type CloudWorkspace, type CloudConnectionInfo, } from './cloud.js';
|
|
11
|
+
export { installMcpConfig, installForEditor, install, uninstall, uninstallFromEditor, isInstalledFor, detectInstalledEditors, getEditorConfig, listSupportedEditors, getDefaultServerConfig, type InstallOptions, type InstallResult, type EditorConfig, type McpServerConfig, } from './install.js';
|
|
10
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,EACL,WAAW,EACX,IAAI,EACJ,KAAK,EACL,GAAG,EACH,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,WAAW,GACjB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAGlF,OAAO,EACL,aAAa,EACb,eAAe,EACf,eAAe,EACf,KAAK,cAAc,EACnB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,eAAe,EACpB,YAAY,EACZ,cAAc,EACd,cAAc,EACd,KAAK,aAAa,EAClB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,eAAe,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,iBAAiB,EACtB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAG7E,OAAO,EACL,WAAW,EACX,IAAI,EACJ,KAAK,EACL,GAAG,EACH,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,WAAW,GACjB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAGlF,OAAO,EACL,aAAa,EACb,eAAe,EACf,eAAe,EACf,KAAK,cAAc,EACnB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,eAAe,EACpB,YAAY,EACZ,cAAc,EACd,cAAc,EACd,KAAK,aAAa,EAClB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,eAAe,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,iBAAiB,EACtB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,gBAAgB,EACrB,aAAa,EACb,eAAe,EACf,eAAe,EACf,KAAK,cAAc,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,iBAAiB,EACtB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,gBAAgB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,KAAK,oBAAoB,GAC1B,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAG/F,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,UAAU,GACX,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,mBAAmB,GACzB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,OAAO,EACP,SAAS,EACT,mBAAmB,EACnB,cAAc,EACd,sBAAsB,EACtB,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,eAAe,GACrB,MAAM,cAAc,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
export { createRelayClient } from './client.js';
|
|
2
|
+
// Hybrid client (file-based writes, socket queries)
|
|
3
|
+
export { createHybridClient, discoverProjectRoot } from './hybrid-client.js';
|
|
2
4
|
// Simple programmatic API (no MCP protocol overhead)
|
|
3
5
|
export { createTools, send, inbox, who, } from './simple.js';
|
|
4
6
|
// Server
|
|
5
7
|
export { createMCPServer, runMCPServer } from './server.js';
|
|
6
8
|
// Tools (for direct usage or custom server implementations)
|
|
7
|
-
export { relaySendTool, relaySendSchema, handleRelaySend, relayInboxTool, relayInboxSchema, handleRelayInbox, relayWhoTool, relayWhoSchema, handleRelayWho, relaySpawnTool, relaySpawnSchema, handleRelaySpawn, relayReleaseTool, relayReleaseSchema, handleRelayRelease, relayStatusTool, relayStatusSchema, handleRelayStatus, } from './tools/index.js';
|
|
9
|
+
export { relaySendTool, relaySendSchema, handleRelaySend, relayInboxTool, relayInboxSchema, handleRelayInbox, relayWhoTool, relayWhoSchema, handleRelayWho, relaySpawnTool, relaySpawnSchema, handleRelaySpawn, relayReleaseTool, relayReleaseSchema, handleRelayRelease, relayStatusTool, relayStatusSchema, handleRelayStatus, relayLogsTool, relayLogsSchema, handleRelayLogs, relayMetricsTool, relayMetricsSchema, handleRelayMetrics, relayHealthTool, relayHealthSchema, handleRelayHealth, relayContinuityTool, relayContinuitySchema, handleRelayContinuity, } from './tools/index.js';
|
|
8
10
|
// Prompts
|
|
9
11
|
export { protocolPrompt, getProtocolPrompt, PROTOCOL_DOCUMENTATION } from './prompts/index.js';
|
|
10
12
|
// Resources
|
|
@@ -12,5 +14,7 @@ export { agentsResource, getAgentsResource, inboxResource, getInboxResource, pro
|
|
|
12
14
|
// Errors
|
|
13
15
|
export { RelayError, DaemonNotRunningError, AgentNotFoundError, TimeoutError, ConnectionError, ChannelNotFoundError, SpawnError, } from './errors.js';
|
|
14
16
|
// Cloud/Discovery
|
|
15
|
-
export { discoverSocket, detectCloudWorkspace, isCloudWorkspace, getCloudSocketPath, getConnectionInfo, } from './cloud.js';
|
|
17
|
+
export { discoverSocket, discoverAgentName, detectCloudWorkspace, isCloudWorkspace, getCloudSocketPath, getConnectionInfo, } from './cloud.js';
|
|
18
|
+
// Installation
|
|
19
|
+
export { installMcpConfig, installForEditor, install, uninstall, uninstallFromEditor, isInstalledFor, detectInstalledEditors, getEditorConfig, listSupportedEditors, getDefaultServerConfig, } from './install.js';
|
|
16
20
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,qDAAqD;AACrD,OAAO,EACL,WAAW,EACX,IAAI,EACJ,KAAK,EACL,GAAG,GAOJ,MAAM,aAAa,CAAC;AAErB,SAAS;AACT,OAAO,EAAE,eAAe,EAAE,YAAY,EAAwB,MAAM,aAAa,CAAC;AAElF,4DAA4D;AAC5D,OAAO,EACL,aAAa,EACb,eAAe,EACf,eAAe,EAEf,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAEhB,YAAY,EACZ,cAAc,EACd,cAAc,EAEd,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAEhB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAElB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,oDAAoD;AACpD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE7E,qDAAqD;AACrD,OAAO,EACL,WAAW,EACX,IAAI,EACJ,KAAK,EACL,GAAG,GAOJ,MAAM,aAAa,CAAC;AAErB,SAAS;AACT,OAAO,EAAE,eAAe,EAAE,YAAY,EAAwB,MAAM,aAAa,CAAC;AAElF,4DAA4D;AAC5D,OAAO,EACL,aAAa,EACb,eAAe,EACf,eAAe,EAEf,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAEhB,YAAY,EACZ,cAAc,EACd,cAAc,EAEd,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAEhB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAElB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EAEjB,aAAa,EACb,eAAe,EACf,eAAe,EAEf,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAElB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EAEjB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,GAEtB,MAAM,kBAAkB,CAAC;AAE1B,UAAU;AACV,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE/F,YAAY;AACZ,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAE9B,SAAS;AACT,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,UAAU,GACX,MAAM,aAAa,CAAC;AAErB,kBAAkB;AAClB,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,GAIlB,MAAM,YAAY,CAAC;AAEpB,eAAe;AACf,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,OAAO,EACP,SAAS,EACT,mBAAmB,EACnB,cAAc,EACd,sBAAsB,EACtB,eAAe,EACf,oBAAoB,EACpB,sBAAsB,GAKvB,MAAM,cAAc,CAAC"}
|