@a5c-ai/agent-mux-adapters 0.4.0 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. package/README.md +3 -1
  2. package/dist/agent-mux-remote-adapter.d.ts.map +1 -1
  3. package/dist/agent-mux-remote-adapter.js +4 -0
  4. package/dist/agent-mux-remote-adapter.js.map +1 -1
  5. package/dist/amp-adapter.d.ts +2 -1
  6. package/dist/amp-adapter.d.ts.map +1 -1
  7. package/dist/amp-adapter.js +93 -17
  8. package/dist/amp-adapter.js.map +1 -1
  9. package/dist/babysitter-adapter.d.ts +29 -0
  10. package/dist/babysitter-adapter.d.ts.map +1 -0
  11. package/dist/babysitter-adapter.js +338 -0
  12. package/dist/babysitter-adapter.js.map +1 -0
  13. package/dist/base-adapter.d.ts +7 -0
  14. package/dist/base-adapter.d.ts.map +1 -1
  15. package/dist/base-adapter.js +113 -1
  16. package/dist/base-adapter.js.map +1 -1
  17. package/dist/claude-adapter.d.ts +14 -3
  18. package/dist/claude-adapter.d.ts.map +1 -1
  19. package/dist/claude-adapter.js +222 -25
  20. package/dist/claude-adapter.js.map +1 -1
  21. package/dist/claude-agent-sdk-adapter.d.ts +21 -34
  22. package/dist/claude-agent-sdk-adapter.d.ts.map +1 -1
  23. package/dist/claude-agent-sdk-adapter.js +629 -397
  24. package/dist/claude-agent-sdk-adapter.js.map +1 -1
  25. package/dist/claude-code/runtime-hooks/ephemeral-config.d.ts +12 -0
  26. package/dist/claude-code/runtime-hooks/ephemeral-config.d.ts.map +1 -0
  27. package/dist/claude-code/runtime-hooks/ephemeral-config.js +143 -0
  28. package/dist/claude-code/runtime-hooks/ephemeral-config.js.map +1 -0
  29. package/dist/claude-code/runtime-hooks/hook-socket-server.d.ts +10 -0
  30. package/dist/claude-code/runtime-hooks/hook-socket-server.d.ts.map +1 -0
  31. package/dist/claude-code/runtime-hooks/hook-socket-server.js +79 -0
  32. package/dist/claude-code/runtime-hooks/hook-socket-server.js.map +1 -0
  33. package/dist/claude-code/runtime-hooks/lifecycle.d.ts +3 -0
  34. package/dist/claude-code/runtime-hooks/lifecycle.d.ts.map +1 -0
  35. package/dist/claude-code/runtime-hooks/lifecycle.js +24 -0
  36. package/dist/claude-code/runtime-hooks/lifecycle.js.map +1 -0
  37. package/dist/claude-remote-control-adapter.d.ts +43 -0
  38. package/dist/claude-remote-control-adapter.d.ts.map +1 -0
  39. package/dist/claude-remote-control-adapter.js +505 -0
  40. package/dist/claude-remote-control-adapter.js.map +1 -0
  41. package/dist/codex-adapter.d.ts.map +1 -1
  42. package/dist/codex-adapter.js +64 -41
  43. package/dist/codex-adapter.js.map +1 -1
  44. package/dist/codex-sdk-adapter.d.ts.map +1 -1
  45. package/dist/codex-sdk-adapter.js +6 -2
  46. package/dist/codex-sdk-adapter.js.map +1 -1
  47. package/dist/codex-websocket-adapter.d.ts +11 -18
  48. package/dist/codex-websocket-adapter.d.ts.map +1 -1
  49. package/dist/codex-websocket-adapter.js +199 -90
  50. package/dist/codex-websocket-adapter.js.map +1 -1
  51. package/dist/codex-websocket-connection.d.ts +60 -40
  52. package/dist/codex-websocket-connection.d.ts.map +1 -1
  53. package/dist/codex-websocket-connection.js +692 -203
  54. package/dist/codex-websocket-connection.js.map +1 -1
  55. package/dist/copilot-adapter.d.ts.map +1 -1
  56. package/dist/copilot-adapter.js +4 -0
  57. package/dist/copilot-adapter.js.map +1 -1
  58. package/dist/cursor-adapter.d.ts +3 -1
  59. package/dist/cursor-adapter.d.ts.map +1 -1
  60. package/dist/cursor-adapter.js +5 -1
  61. package/dist/cursor-adapter.js.map +1 -1
  62. package/dist/droid-adapter.d.ts +4 -2
  63. package/dist/droid-adapter.d.ts.map +1 -1
  64. package/dist/droid-adapter.js +12 -11
  65. package/dist/droid-adapter.js.map +1 -1
  66. package/dist/gemini-adapter.d.ts +3 -1
  67. package/dist/gemini-adapter.d.ts.map +1 -1
  68. package/dist/gemini-adapter.js +5 -1
  69. package/dist/gemini-adapter.js.map +1 -1
  70. package/dist/hermes-adapter.d.ts.map +1 -1
  71. package/dist/hermes-adapter.js +4 -0
  72. package/dist/hermes-adapter.js.map +1 -1
  73. package/dist/index.d.ts +4 -1
  74. package/dist/index.d.ts.map +1 -1
  75. package/dist/index.js +3 -10
  76. package/dist/index.js.map +1 -1
  77. package/dist/mcp-plugins.d.ts +5 -3
  78. package/dist/mcp-plugins.d.ts.map +1 -1
  79. package/dist/mcp-plugins.js +58 -24
  80. package/dist/mcp-plugins.js.map +1 -1
  81. package/dist/omp-adapter.d.ts.map +1 -1
  82. package/dist/omp-adapter.js +4 -0
  83. package/dist/omp-adapter.js.map +1 -1
  84. package/dist/openclaw-adapter.d.ts +3 -1
  85. package/dist/openclaw-adapter.d.ts.map +1 -1
  86. package/dist/openclaw-adapter.js +5 -1
  87. package/dist/openclaw-adapter.js.map +1 -1
  88. package/dist/opencode-adapter.d.ts +3 -1
  89. package/dist/opencode-adapter.d.ts.map +1 -1
  90. package/dist/opencode-adapter.js +7 -3
  91. package/dist/opencode-adapter.js.map +1 -1
  92. package/dist/opencode-http-adapter.d.ts +3 -1
  93. package/dist/opencode-http-adapter.d.ts.map +1 -1
  94. package/dist/opencode-http-adapter.js +5 -1
  95. package/dist/opencode-http-adapter.js.map +1 -1
  96. package/dist/pi-adapter.d.ts.map +1 -1
  97. package/dist/pi-adapter.js +4 -0
  98. package/dist/pi-adapter.js.map +1 -1
  99. package/dist/pi-sdk-adapter.d.ts.map +1 -1
  100. package/dist/pi-sdk-adapter.js +4 -0
  101. package/dist/pi-sdk-adapter.js.map +1 -1
  102. package/dist/provider-translation.d.ts +10 -0
  103. package/dist/provider-translation.d.ts.map +1 -0
  104. package/dist/provider-translation.js +2 -0
  105. package/dist/provider-translation.js.map +1 -0
  106. package/dist/qwen-adapter.d.ts +3 -1
  107. package/dist/qwen-adapter.d.ts.map +1 -1
  108. package/dist/qwen-adapter.js +5 -1
  109. package/dist/qwen-adapter.js.map +1 -1
  110. package/dist/session-fs.d.ts +15 -5
  111. package/dist/session-fs.d.ts.map +1 -1
  112. package/dist/session-fs.js +249 -0
  113. package/dist/session-fs.js.map +1 -1
  114. package/dist/shared/runtime-hooks-virtual.d.ts +3 -0
  115. package/dist/shared/runtime-hooks-virtual.d.ts.map +1 -0
  116. package/dist/shared/runtime-hooks-virtual.js +13 -0
  117. package/dist/shared/runtime-hooks-virtual.js.map +1 -0
  118. package/dist/translate-for-harness.d.ts +6 -0
  119. package/dist/translate-for-harness.d.ts.map +1 -0
  120. package/dist/translate-for-harness.js +36 -0
  121. package/dist/translate-for-harness.js.map +1 -0
  122. package/dist/translations/claude-translation.d.ts +4 -0
  123. package/dist/translations/claude-translation.d.ts.map +1 -0
  124. package/dist/translations/claude-translation.js +50 -0
  125. package/dist/translations/claude-translation.js.map +1 -0
  126. package/dist/translations/codex-translation.d.ts +4 -0
  127. package/dist/translations/codex-translation.d.ts.map +1 -0
  128. package/dist/translations/codex-translation.js +32 -0
  129. package/dist/translations/codex-translation.js.map +1 -0
  130. package/dist/translations/gemini-translation.d.ts +4 -0
  131. package/dist/translations/gemini-translation.d.ts.map +1 -0
  132. package/dist/translations/gemini-translation.js +20 -0
  133. package/dist/translations/gemini-translation.js.map +1 -0
  134. package/dist/translations/generic-openai-translation.d.ts +4 -0
  135. package/dist/translations/generic-openai-translation.d.ts.map +1 -0
  136. package/dist/translations/generic-openai-translation.js +19 -0
  137. package/dist/translations/generic-openai-translation.js.map +1 -0
  138. package/dist/translations/opencode-translation.d.ts +4 -0
  139. package/dist/translations/opencode-translation.d.ts.map +1 -0
  140. package/dist/translations/opencode-translation.js +51 -0
  141. package/dist/translations/opencode-translation.js.map +1 -0
  142. package/package.json +4 -2
  143. package/dist/mocks/index.d.ts +0 -60
  144. package/dist/mocks/index.d.ts.map +0 -1
  145. package/dist/mocks/index.js +0 -203
  146. package/dist/mocks/index.js.map +0 -1
  147. package/dist/mocks/mock-types.d.ts +0 -260
  148. package/dist/mocks/mock-types.d.ts.map +0 -1
  149. package/dist/mocks/mock-types.js +0 -12
  150. package/dist/mocks/mock-types.js.map +0 -1
  151. package/dist/mocks/programmatic-mocks.d.ts +0 -50
  152. package/dist/mocks/programmatic-mocks.d.ts.map +0 -1
  153. package/dist/mocks/programmatic-mocks.js +0 -330
  154. package/dist/mocks/programmatic-mocks.js.map +0 -1
  155. package/dist/mocks/remote-mocks.d.ts +0 -52
  156. package/dist/mocks/remote-mocks.d.ts.map +0 -1
  157. package/dist/mocks/remote-mocks.js +0 -436
  158. package/dist/mocks/remote-mocks.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"programmatic-mocks.js","sourceRoot":"","sources":["../../src/mocks/programmatic-mocks.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,aAAa;IACpB,OAAO,YAAY,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AAChF,CAAC;AAED,SAAS,eAAe,CAAC,IAAY,EAAE,KAAa,EAAE,KAAK,GAAG,YAAY;IACxE,OAAO;QACL,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,KAAK;QACL,IAAI;QACJ,KAAK;KACN,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,4BAA4B;AAC5B,8EAA8E;AAE9E,MAAM,OAAO,2BAA2B;IAC9B,MAAM,GAAoC;QAChD,YAAY,EAAE,IAAI;QAClB,MAAM,EAAE,EAAE;QACV,YAAY,EAAE,CAAC;KAChB,CAAC;IAEF,IAAI,CAAC,IAAY;QACf,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,QAAiB;QACxB,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,MAAyB;QACjC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,IAAY,EAAE,IAA6B,EAAE,OAAO,GAAG,CAAC;QAC/D,MAAM,KAAK,GAAoB,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACvD,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,CAAC,IAAY,EAAE,SAAS,GAAG,EAAE,EAAE,kBAAkB,GAAG,EAAE;QACjE,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,IAAI,WAAW,GAAG,EAAE,CAAC;QAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;YAChD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;YAC3C,WAAW,IAAI,KAAK,CAAC;YAErB,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE;oBACJ,KAAK,EAAE,KAAK;oBACZ,WAAW;iBACZ;gBACD,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB,EAAE,+BAA+B;aAC7E,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,WAAW,CAAC,QAAgB,EAAE,KAAa,EAAE,MAAe,EAAE,gBAAgB,GAAG,GAAG;QAClF,MAAM,UAAU,GAAG,QAAQ,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAEtF,MAAM,MAAM,GAAsB;YAChC;gBACE,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE;oBACJ,UAAU;oBACV,QAAQ;iBACT;gBACD,OAAO,EAAE,EAAE;aACZ;YACD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE;oBACJ,UAAU;oBACV,KAAK,EAAE,KAAK;oBACZ,gBAAgB,EAAE,KAAK;iBACxB;gBACD,OAAO,EAAE,EAAE;aACZ;YACD;gBACE,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE;oBACJ,UAAU;oBACV,QAAQ;oBACR,KAAK;iBACN;gBACD,OAAO,EAAE,EAAE;aACZ;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE;oBACJ,UAAU;oBACV,QAAQ;oBACR,MAAM;oBACN,UAAU,EAAE,gBAAgB;iBAC7B;gBACD,OAAO,EAAE,gBAAgB;aAC1B;SACF,CAAC;QAEF,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,WAAW,CAAC,eAAuB,EAAE,OAAO,GAAG,GAAG;QAChD,MAAM,MAAM,GAAsB;YAChC;gBACE,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,EAAE;gBACR,OAAO,EAAE,EAAE;aACZ;YACD;gBACE,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE;oBACJ,KAAK,EAAE,eAAe;oBACtB,WAAW,EAAE,eAAe;iBAC7B;gBACD,OAAO;aACR;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE;oBACJ,WAAW,EAAE,eAAe;iBAC7B;gBACD,OAAO,EAAE,EAAE;aACZ;SACF,CAAC;QAEF,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,QAAQ,CAAC,WAAmB,EAAE,YAAoB,EAAE,cAAc,GAAG,CAAC;QACpE,2CAA2C;QAC3C,MAAM,SAAS,GAAG,WAAW,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,uBAAuB;QACrE,MAAM,UAAU,GAAG,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,uBAAuB;QACvE,MAAM,YAAY,GAAG,cAAc,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,gBAAgB;QACpE,MAAM,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,CAAC;QAEvD,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG;YACjB,WAAW;YACX,YAAY;YACZ,cAAc;YACd,QAAQ;SACT,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,IAAY,EAAE,OAAe,EAAE,OAAO,GAAG,GAAG;QACpD,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG;YAC1B,SAAS,EAAE,IAAI;YACf,OAAO;YACP,OAAO;SACR,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,OAAO;YACL,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,EAAE;YACV,GAAG,IAAI,CAAC,MAAM;SACW,CAAC;IAC9B,CAAC;CACF;AAED,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E,MAAM,OAAO,sBAAsB;IACjC,KAAK,CAAC,OAAO,CACX,MAA8B,EAC9B,OAAmB;QAEnB,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAEO,KAAK,CAAC,CAAC,iBAAiB,CAC9B,MAA8B,EAC9B,KAAa,EACb,SAAiB,EACjB,OAAmB;QAEnB,IAAI,CAAC;YACH,uBAAuB;YACvB,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;gBACzB,MAAM;oBACJ,GAAG,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAe,CAAC;oBAC3D,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,4BAA4B;oBACrC,KAAK,EAAE,KAAK;oBACZ,WAAW,EAAE,KAAK;iBACM,CAAC;gBAC3B,OAAO;YACT,CAAC;YAED,gBAAgB;YAChB,MAAM;gBACJ,GAAG,eAAe,CAAC,eAAe,EAAE,KAAK,EAAE,OAAO,CAAC,KAAe,CAAC;gBACnE,SAAS,EAAE,gBAAgB,KAAK,EAAE;gBAClC,SAAS,EAAE,CAAC;aACY,CAAC;YAE3B,gBAAgB;YAChB,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBACxB,MAAM,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACnC,CAAC;YAED,mBAAmB;YACnB,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;gBACzB,IAAI,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;oBACjC,MAAM,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAC5C,CAAC;gBAED,MAAM;oBACJ,GAAG,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAe,CAAC;oBAC3D,IAAI,EAAE,MAAM,CAAC,aAAa,CAAC,SAAS;oBACpC,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,OAAO;oBACrC,KAAK,EAAE,IAAI;oBACX,WAAW,EAAE,KAAK;iBACM,CAAC;gBAC3B,OAAO;YACT,CAAC;YAED,gBAAgB;YAChB,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBACtC,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;oBACtB,MAAM,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBACjC,CAAC;gBAED,MAAM;oBACJ,GAAG,eAAe,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAe,CAAC;oBAClE,GAAG,SAAS,CAAC,IAAI;iBACO,CAAC;YAC7B,CAAC;YAED,6BAA6B;YAC7B,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAChB,MAAM;oBACJ,GAAG,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAe,CAAC;oBAC1D,IAAI,EAAE,MAAM,CAAC,IAAI;iBACO,CAAC;YAC7B,CAAC;YAED,eAAe;YACf,MAAM;gBACJ,GAAG,eAAe,CAAC,cAAc,EAAE,KAAK,EAAE,OAAO,CAAC,KAAe,CAAC;aAC1C,CAAC;QAE7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM;gBACJ,GAAG,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAe,CAAC;gBAC3D,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC/D,KAAK,EAAE,IAAI;gBACX,WAAW,EAAE,KAAK;aACM,CAAC;QAC7B,CAAC;IACH,CAAC;CACF;AAED,8EAA8E;AAC9E,kCAAkC;AAClC,8EAA8E;AAE9E,MAAM,OAAO,kBAAkB;IAC7B,MAAM,CAAC,YAAY;QACjB,OAAO,IAAI,2BAA2B,EAAE;aACrC,IAAI,CAAC,wBAAwB,CAAC;aAC9B,QAAQ,CAAC,IAAI,CAAC;aACd,WAAW,CAAC,+CAA+C,CAAC;aAC5D,aAAa,CAAC,kCAAkC,CAAC;aACjD,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;aACpB,KAAK,EAAE,CAAC;IACb,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,OAAO,IAAI,2BAA2B,EAAE;aACrC,IAAI,CAAC,wBAAwB,CAAC;aAC9B,QAAQ,CAAC,IAAI,CAAC;aACd,WAAW,CAAC,2DAA2D,CAAC;aACxE,WAAW,CAAC,WAAW,EAAE,2BAA2B,EAAE,oBAAoB,CAAC;aAC3E,aAAa,CAAC,oDAAoD,CAAC;aACnE,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;aACpB,KAAK,EAAE,CAAC;IACb,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,OAAO,IAAI,2BAA2B,EAAE;aACrC,IAAI,CAAC,4BAA4B,CAAC;aAClC,QAAQ,CAAC,KAAK,CAAC;aACf,KAAK,EAAE,CAAC;IACb,CAAC;CACF;AAED,MAAM,OAAO,YAAY;IACvB,MAAM,CAAC,YAAY;QACjB,OAAO,IAAI,2BAA2B,EAAE;aACrC,IAAI,CAAC,iBAAiB,CAAC;aACvB,QAAQ,CAAC,IAAI,CAAC;aACd,aAAa,CAAC,0DAA0D,CAAC;aACzE,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;aAChB,KAAK,EAAE,CAAC;IACb,CAAC;IAED,MAAM,CAAC,cAAc;QACnB,OAAO,IAAI,2BAA2B,EAAE;aACrC,IAAI,CAAC,mBAAmB,CAAC;aACzB,QAAQ,CAAC,IAAI,CAAC;aACd,WAAW,CAAC,cAAc,EAAE,+BAA+B,EAAE,MAAM,CAAC;aACpE,aAAa,CAAC,+DAA+D,CAAC;aAC9E,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;aAChB,KAAK,EAAE,CAAC;IACb,CAAC;CACF;AAED,MAAM,OAAO,SAAS;IACpB,MAAM,CAAC,YAAY;QACjB,OAAO,IAAI,2BAA2B,EAAE;aACrC,IAAI,CAAC,cAAc,CAAC;aACpB,QAAQ,CAAC,IAAI,CAAC;aACd,aAAa,CAAC,wDAAwD,CAAC;aACvE,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;aAChB,KAAK,EAAE,CAAC;IACb,CAAC;IAED,MAAM,CAAC,SAAS;QACd,OAAO,IAAI,2BAA2B,EAAE;aACrC,IAAI,CAAC,mBAAmB,CAAC;aACzB,QAAQ,CAAC,IAAI,CAAC;aACd,WAAW,CAAC,YAAY,EAAE,0BAA0B,EAAE;YACrD,EAAE,KAAK,EAAE,gBAAgB,EAAE,GAAG,EAAE,uBAAuB,EAAE;YACzD,EAAE,KAAK,EAAE,gBAAgB,EAAE,GAAG,EAAE,uBAAuB,EAAE;SAC1D,CAAC;aACD,aAAa,CAAC,0DAA0D,CAAC;aACzE,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;aAChB,KAAK,EAAE,CAAC;IACb,CAAC;CACF;AAED,8EAA8E;AAC9E,yBAAyB;AACzB,8EAA8E;AAE9E,MAAM,UAAU,6BAA6B;IAC3C,OAAO,IAAI,2BAA2B,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM,EAAE,kBAAkB;IAC1B,KAAK,EAAE,YAAY;IACnB,EAAE,EAAE,SAAS;IACb,MAAM,EAAE,IAAI,sBAAsB,EAAE;IACpC,OAAO,EAAE,6BAA6B;CACvC,CAAC"}
@@ -1,52 +0,0 @@
1
- /**
2
- * Mock implementations for remote adapters (HTTP/WebSocket).
3
- *
4
- * Provides realistic simulation of remote server/connection behavior for:
5
- * - OpenCode HTTP
6
- * - Codex WebSocket
7
- * - Generic HTTP/WebSocket adapters
8
- */
9
- import { EventEmitter } from 'node:events';
10
- import type { RemoteMockConfig, MockConnection, MockServerInfo, RemoteMockBuilder, MockStreamEvent } from './mock-types.js';
11
- export declare class MockServer extends EventEmitter {
12
- private info;
13
- private config;
14
- private connections;
15
- private _started;
16
- constructor(config: RemoteMockConfig);
17
- start(): Promise<MockServerInfo>;
18
- stop(): Promise<void>;
19
- createConnection(connectionType: 'http' | 'websocket'): Promise<MockConnection>;
20
- getInfo(): MockServerInfo;
21
- getConnections(): MockConnection[];
22
- }
23
- export declare class RemoteMockBuilderImpl implements RemoteMockBuilder {
24
- private config;
25
- name(name: string): this;
26
- withServer(serverConfig: RemoteMockConfig['server']): this;
27
- withConnection(connectionConfig: RemoteMockConfig['connection']): this;
28
- withWebSocket(wsConfig: RemoteMockConfig['websocket']): this;
29
- withHttp(httpConfig: RemoteMockConfig['http']): this;
30
- addEvents(events: MockStreamEvent[]): this;
31
- withErrors(errors: RemoteMockConfig['simulateErrors']): this;
32
- build(): RemoteMockConfig;
33
- }
34
- export declare class OpenCodeHttpMock {
35
- static basicSuccess(): RemoteMockConfig;
36
- static serverStartupFailure(): RemoteMockConfig;
37
- static networkTimeout(): RemoteMockConfig;
38
- }
39
- export declare class CodexWebSocketMock {
40
- static basicSuccess(): RemoteMockConfig;
41
- static connectionDrop(): RemoteMockConfig;
42
- static highThroughput(): RemoteMockConfig;
43
- }
44
- export declare function createRemoteMockBuilder(): RemoteMockBuilder;
45
- export declare function createMockServer(config: RemoteMockConfig): MockServer;
46
- export declare const remoteMocks: {
47
- opencode: typeof OpenCodeHttpMock;
48
- codex: typeof CodexWebSocketMock;
49
- builder: typeof createRemoteMockBuilder;
50
- server: typeof createMockServer;
51
- };
52
- //# sourceMappingURL=remote-mocks.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"remote-mocks.d.ts","sourceRoot":"","sources":["../../src/mocks/remote-mocks.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,eAAe,EAChB,MAAM,iBAAiB,CAAC;AA2BzB,qBAAa,UAAW,SAAQ,YAAY;IAC1C,OAAO,CAAC,IAAI,CAAiB;IAC7B,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,WAAW,CAAqC;IACxD,OAAO,CAAC,QAAQ,CAAS;gBAEb,MAAM,EAAE,gBAAgB;IAY9B,KAAK,IAAI,OAAO,CAAC,cAAc,CAAC;IAyBhC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBrB,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC;IAiBrF,OAAO,IAAI,cAAc;IAIzB,cAAc,IAAI,cAAc,EAAE;CAGnC;AA+KD,qBAAa,qBAAsB,YAAW,iBAAiB;IAC7D,OAAO,CAAC,MAAM,CAEZ;IAEF,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKxB,UAAU,CAAC,YAAY,EAAE,gBAAgB,CAAC,QAAQ,CAAC,GAAG,IAAI;IAK1D,cAAc,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,YAAY,CAAC,GAAG,IAAI;IAKtE,aAAa,CAAC,QAAQ,EAAE,gBAAgB,CAAC,WAAW,CAAC,GAAG,IAAI;IAK5D,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,IAAI;IAKpD,SAAS,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI;IAK1C,UAAU,CAAC,MAAM,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAK5D,KAAK,IAAI,gBAAgB;CAM1B;AAMD,qBAAa,gBAAgB;IAC3B,MAAM,CAAC,YAAY,IAAI,gBAAgB;IAkCvC,MAAM,CAAC,oBAAoB,IAAI,gBAAgB;IAO/C,MAAM,CAAC,cAAc,IAAI,gBAAgB;CAQ1C;AAED,qBAAa,kBAAkB;IAC7B,MAAM,CAAC,YAAY,IAAI,gBAAgB;IAkCvC,MAAM,CAAC,cAAc,IAAI,gBAAgB;IA+BzC,MAAM,CAAC,cAAc,IAAI,gBAAgB;CAiC1C;AAMD,wBAAgB,uBAAuB,IAAI,iBAAiB,CAE3D;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,UAAU,CAErE;AAED,eAAO,MAAM,WAAW;;;;;CAKvB,CAAC"}
@@ -1,436 +0,0 @@
1
- /**
2
- * Mock implementations for remote adapters (HTTP/WebSocket).
3
- *
4
- * Provides realistic simulation of remote server/connection behavior for:
5
- * - OpenCode HTTP
6
- * - Codex WebSocket
7
- * - Generic HTTP/WebSocket adapters
8
- */
9
- import { EventEmitter } from 'node:events';
10
- // ---------------------------------------------------------------------------
11
- // Utilities
12
- // ---------------------------------------------------------------------------
13
- function delay(ms) {
14
- return new Promise(resolve => setTimeout(resolve, ms));
15
- }
16
- function generateId() {
17
- return `mock_${Date.now()}_${Math.random().toString(36).substring(2, 9)}`;
18
- }
19
- function createBaseEvent(type, runId, agent = 'mock-agent') {
20
- return {
21
- timestamp: new Date().toISOString(),
22
- runId,
23
- type,
24
- agent,
25
- };
26
- }
27
- // ---------------------------------------------------------------------------
28
- // Mock Server Implementation
29
- // ---------------------------------------------------------------------------
30
- export class MockServer extends EventEmitter {
31
- info;
32
- config;
33
- connections = new Map();
34
- _started = false;
35
- constructor(config) {
36
- super();
37
- this.config = config;
38
- this.info = {
39
- serverId: generateId(),
40
- endpoint: config.http?.baseUrl || `ws://localhost:${config.server?.port || 8080}`,
41
- port: config.server?.port || 8080,
42
- startedAt: new Date(),
43
- status: 'starting',
44
- };
45
- }
46
- async start() {
47
- if (this._started) {
48
- throw new Error('Server already started');
49
- }
50
- this.info.status = 'starting';
51
- // Simulate startup delay
52
- if (this.config.server?.startupDelayMs) {
53
- await delay(this.config.server.startupDelayMs);
54
- }
55
- // Simulate startup failure
56
- if (this.config.server?.startupFails) {
57
- this.info.status = 'error';
58
- throw new Error('Mock server startup failed');
59
- }
60
- this._started = true;
61
- this.info.status = 'running';
62
- this.emit('started', this.info);
63
- return this.info;
64
- }
65
- async stop() {
66
- if (!this._started) {
67
- return;
68
- }
69
- this.info.status = 'stopped';
70
- this._started = false;
71
- // Close all connections
72
- for (const connection of this.connections.values()) {
73
- await connection.close();
74
- }
75
- this.connections.clear();
76
- this.emit('stopped');
77
- }
78
- async createConnection(connectionType) {
79
- if (!this._started) {
80
- throw new Error('Server not started');
81
- }
82
- const connection = new MockConnectionImpl(connectionType, this.info.endpoint, this.config);
83
- this.connections.set(connection.connectionId, connection);
84
- this.emit('connection', connection);
85
- return connection;
86
- }
87
- getInfo() {
88
- return { ...this.info };
89
- }
90
- getConnections() {
91
- return Array.from(this.connections.values());
92
- }
93
- }
94
- // ---------------------------------------------------------------------------
95
- // Mock Connection Implementation
96
- // ---------------------------------------------------------------------------
97
- class MockConnectionImpl extends EventEmitter {
98
- connectionId;
99
- connectionType;
100
- endpoint;
101
- config;
102
- _state = 'connecting';
103
- stats = {
104
- eventsReceived: 0,
105
- eventsSent: 0,
106
- connectTime: new Date(),
107
- lastActivity: new Date(),
108
- };
109
- eventQueue = [];
110
- eventIterator = null;
111
- constructor(connectionType, endpoint, config) {
112
- super();
113
- this.connectionId = generateId();
114
- this.connectionType = connectionType;
115
- this.endpoint = endpoint;
116
- this.config = config;
117
- // Start connection process
118
- this.connect();
119
- }
120
- get state() {
121
- return this._state;
122
- }
123
- async connect() {
124
- try {
125
- // Simulate connection delay
126
- if (this.config.connection?.connectDelayMs) {
127
- await delay(this.config.connection.connectDelayMs);
128
- }
129
- // Simulate connection failure
130
- if (this.config.connection?.connectFails) {
131
- this._state = 'error';
132
- this.emit('error', new Error('Mock connection failed'));
133
- return;
134
- }
135
- this._state = 'connected';
136
- this.stats.connectTime = new Date();
137
- this.emit('connected');
138
- // Start event generation
139
- this.startEventGeneration();
140
- }
141
- catch (error) {
142
- this._state = 'error';
143
- this.emit('error', error);
144
- }
145
- }
146
- async startEventGeneration() {
147
- const runId = generateId();
148
- try {
149
- // Generate events from config
150
- for (const [index, mockEvent] of this.config.events.entries()) {
151
- if (this._state !== 'connected')
152
- break;
153
- if (mockEvent.delayMs) {
154
- await delay(mockEvent.delayMs);
155
- }
156
- const event = {
157
- ...createBaseEvent(mockEvent.type, runId),
158
- ...mockEvent.data,
159
- };
160
- this.eventQueue.push(event);
161
- this.stats.eventsReceived++;
162
- this.stats.lastActivity = new Date();
163
- this.emit('event', event);
164
- // Simulate disconnection after N events
165
- if (this.config.connection?.disconnectAfterEvents &&
166
- index >= this.config.connection.disconnectAfterEvents - 1) {
167
- await this.simulateDisconnection();
168
- break;
169
- }
170
- }
171
- }
172
- catch (error) {
173
- this._state = 'error';
174
- this.emit('error', error);
175
- }
176
- }
177
- async simulateDisconnection() {
178
- this._state = 'disconnected';
179
- this.emit('disconnected');
180
- // Simulate reconnection if configured
181
- if (this.config.websocket?.dropConnection?.reconnectDelayMs) {
182
- await delay(this.config.websocket.dropConnection.reconnectDelayMs);
183
- await this.connect();
184
- }
185
- }
186
- async send(data) {
187
- if (this._state !== 'connected') {
188
- throw new Error(`Cannot send data: connection state is ${this._state}`);
189
- }
190
- this.stats.eventsSent++;
191
- this.stats.lastActivity = new Date();
192
- // Simulate send delay for WebSocket
193
- if (this.connectionType === 'websocket' && this.config.websocket?.pingIntervalMs) {
194
- await delay(10); // Small delay for WebSocket send
195
- }
196
- this.emit('sent', data);
197
- }
198
- async *receive() {
199
- while (this._state === 'connected' || this.eventQueue.length > 0) {
200
- if (this.eventQueue.length === 0) {
201
- await delay(10); // Small polling delay
202
- continue;
203
- }
204
- const event = this.eventQueue.shift();
205
- if (event) {
206
- yield event;
207
- }
208
- }
209
- // If connection ended with error, emit error event
210
- if (this._state === 'error') {
211
- const errorEvent = {
212
- ...createBaseEvent('error', generateId()),
213
- code: 'CONNECTION_ERROR',
214
- message: 'Mock connection error',
215
- fatal: false,
216
- recoverable: true,
217
- };
218
- yield errorEvent;
219
- }
220
- }
221
- async close() {
222
- if (this._state === 'disconnected')
223
- return;
224
- this._state = 'disconnected';
225
- this.eventQueue.length = 0;
226
- this.emit('closed');
227
- }
228
- getStats() {
229
- return { ...this.stats };
230
- }
231
- }
232
- // ---------------------------------------------------------------------------
233
- // Remote Mock Builder Implementation
234
- // ---------------------------------------------------------------------------
235
- export class RemoteMockBuilderImpl {
236
- config = {
237
- events: [],
238
- };
239
- name(name) {
240
- this.config.name = name;
241
- return this;
242
- }
243
- withServer(serverConfig) {
244
- this.config.server = { ...this.config.server, ...serverConfig };
245
- return this;
246
- }
247
- withConnection(connectionConfig) {
248
- this.config.connection = { ...this.config.connection, ...connectionConfig };
249
- return this;
250
- }
251
- withWebSocket(wsConfig) {
252
- this.config.websocket = { ...this.config.websocket, ...wsConfig };
253
- return this;
254
- }
255
- withHttp(httpConfig) {
256
- this.config.http = { ...this.config.http, ...httpConfig };
257
- return this;
258
- }
259
- addEvents(events) {
260
- this.config.events = [...(this.config.events || []), ...events];
261
- return this;
262
- }
263
- withErrors(errors) {
264
- this.config.simulateErrors = { ...this.config.simulateErrors, ...errors };
265
- return this;
266
- }
267
- build() {
268
- return {
269
- events: [],
270
- ...this.config,
271
- };
272
- }
273
- }
274
- // ---------------------------------------------------------------------------
275
- // Adapter-Specific Mock Factories
276
- // ---------------------------------------------------------------------------
277
- export class OpenCodeHttpMock {
278
- static basicSuccess() {
279
- return new RemoteMockBuilderImpl()
280
- .name('opencode-http-basic')
281
- .withServer({ startupDelayMs: 100, port: 3000 })
282
- .withConnection({ connectDelayMs: 50 })
283
- .withHttp({
284
- baseUrl: 'http://localhost:3000',
285
- endpointDelays: { '/execute': 200, '/status': 50 },
286
- })
287
- .addEvents([
288
- {
289
- type: 'session_start',
290
- data: { sessionId: 'mock_session' },
291
- delayMs: 100,
292
- },
293
- {
294
- type: 'text_delta',
295
- data: { delta: 'Starting OpenCode execution...', accumulated: 'Starting OpenCode execution...' },
296
- delayMs: 200,
297
- },
298
- {
299
- type: 'text_delta',
300
- data: { delta: '\nCode executed successfully!', accumulated: 'Starting OpenCode execution...\nCode executed successfully!' },
301
- delayMs: 300,
302
- },
303
- {
304
- type: 'message_stop',
305
- data: {},
306
- delayMs: 100,
307
- },
308
- ])
309
- .build();
310
- }
311
- static serverStartupFailure() {
312
- return new RemoteMockBuilderImpl()
313
- .name('opencode-http-startup-fail')
314
- .withServer({ startupFails: true })
315
- .build();
316
- }
317
- static networkTimeout() {
318
- return new RemoteMockBuilderImpl()
319
- .name('opencode-http-timeout')
320
- .withServer({ startupDelayMs: 100 })
321
- .withConnection({ connectDelayMs: 50 })
322
- .withErrors({ networkTimeout: true })
323
- .build();
324
- }
325
- }
326
- export class CodexWebSocketMock {
327
- static basicSuccess() {
328
- return new RemoteMockBuilderImpl()
329
- .name('codex-websocket-basic')
330
- .withServer({ startupDelayMs: 150, port: 8080 })
331
- .withConnection({ connectDelayMs: 30 })
332
- .withWebSocket({
333
- channels: ['code', 'output'],
334
- pingIntervalMs: 5000,
335
- })
336
- .addEvents([
337
- {
338
- type: 'session_start',
339
- data: { sessionId: 'mock_ws_session' },
340
- delayMs: 50,
341
- },
342
- {
343
- type: 'text_delta',
344
- data: { delta: '# Generated Code\n', accumulated: '# Generated Code\n' },
345
- delayMs: 100,
346
- },
347
- {
348
- type: 'text_delta',
349
- data: { delta: 'def hello():\n return "Hello, World!"', accumulated: '# Generated Code\ndef hello():\n return "Hello, World!"' },
350
- delayMs: 200,
351
- },
352
- {
353
- type: 'message_stop',
354
- data: {},
355
- delayMs: 50,
356
- },
357
- ])
358
- .build();
359
- }
360
- static connectionDrop() {
361
- return new RemoteMockBuilderImpl()
362
- .name('codex-websocket-drop')
363
- .withServer({ startupDelayMs: 100 })
364
- .withConnection({ disconnectAfterEvents: 2 })
365
- .withWebSocket({
366
- dropConnection: {
367
- afterMs: 1000,
368
- reconnectDelayMs: 500,
369
- },
370
- })
371
- .addEvents([
372
- {
373
- type: 'session_start',
374
- data: { sessionId: 'mock_session' },
375
- delayMs: 50,
376
- },
377
- {
378
- type: 'text_delta',
379
- data: { delta: 'Starting...', accumulated: 'Starting...' },
380
- delayMs: 100,
381
- },
382
- {
383
- type: 'text_delta',
384
- data: { delta: ' reconnecting...', accumulated: 'Starting... reconnecting...' },
385
- delayMs: 200,
386
- },
387
- ])
388
- .build();
389
- }
390
- static highThroughput() {
391
- const events = [
392
- {
393
- type: 'session_start',
394
- data: { sessionId: 'high_throughput_session' },
395
- delayMs: 10,
396
- },
397
- ];
398
- // Generate many rapid events
399
- for (let i = 0; i < 50; i++) {
400
- events.push({
401
- type: 'text_delta',
402
- data: {
403
- delta: `chunk_${i} `,
404
- accumulated: `chunk_0 ${'chunk_'.repeat(i)}${i} `,
405
- },
406
- delayMs: 5, // Very rapid
407
- });
408
- }
409
- events.push({
410
- type: 'message_stop',
411
- data: {},
412
- delayMs: 10,
413
- });
414
- return new RemoteMockBuilderImpl()
415
- .name('codex-websocket-high-throughput')
416
- .withWebSocket({ pingIntervalMs: 1000 })
417
- .addEvents(events)
418
- .build();
419
- }
420
- }
421
- // ---------------------------------------------------------------------------
422
- // Factory Functions
423
- // ---------------------------------------------------------------------------
424
- export function createRemoteMockBuilder() {
425
- return new RemoteMockBuilderImpl();
426
- }
427
- export function createMockServer(config) {
428
- return new MockServer(config);
429
- }
430
- export const remoteMocks = {
431
- opencode: OpenCodeHttpMock,
432
- codex: CodexWebSocketMock,
433
- builder: createRemoteMockBuilder,
434
- server: createMockServer,
435
- };
436
- //# sourceMappingURL=remote-mocks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"remote-mocks.js","sourceRoot":"","sources":["../../src/mocks/remote-mocks.ts"],"names":[],"mappings":"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"}