MCPcopy Index your code
hub / github.com/tiann/hapi / createSessionStub

Function createSessionStub

cli/src/codex/codexRemoteLauncher.test.ts:821–934  ·  view source on GitHub ↗
(messages = ['hello from launcher test'], mode = createMode())

Source from the content-addressed store, hash-verified

819}
820
821function createSessionStub(messages = ['hello from launcher test'], mode = createMode()) {
822 const queue = new MessageQueue2<EnhancedMode>((mode) => JSON.stringify(mode));
823 messages.forEach((message, index) => {
824 if (index === 0 && messages.length > 1) {
825 queue.pushIsolateAndClear(message, mode);
826 } else {
827 queue.push(message, mode);
828 }
829 });
830 queue.close();
831
832 const sessionEvents: Array<{ type: string; [key: string]: unknown }> = [];
833 const codexMessages: unknown[] = [];
834 const summaryMessages: unknown[] = [];
835 const thinkingChanges: boolean[] = [];
836 const foundSessionIds: string[] = [];
837 const resetThreadCalls: string[] = [];
838 const collaborationModes: Array<EnhancedMode['collaborationMode'] | undefined> = [];
839 let currentPermissionMode: EnhancedMode['permissionMode'] = mode.permissionMode;
840 let currentModel: string | null | undefined = mode.model;
841 let currentCollaborationMode: EnhancedMode['collaborationMode'] | undefined = mode.collaborationMode;
842 let agentState: FakeAgentState = {
843 requests: {},
844 completedRequests: {}
845 };
846
847 const rpcHandlers = new Map<string, (params: unknown) => unknown>();
848 const client = {
849 rpcHandlerManager: {
850 registerHandler(method: string, handler: (params: unknown) => unknown) {
851 rpcHandlers.set(method, handler);
852 }
853 },
854 updateAgentState(handler: (state: FakeAgentState) => FakeAgentState) {
855 agentState = handler(agentState);
856 },
857 sendAgentMessage(message: unknown) {
858 codexMessages.push(message);
859 },
860 sendUserMessage(_text: string) {},
861 sendClaudeSessionMessage(message: unknown) {
862 summaryMessages.push(message);
863 },
864 sendSessionEvent(event: { type: string; [key: string]: unknown }) {
865 sessionEvents.push(event);
866 }
867 };
868
869 const session = {
870 path: '/tmp/hapi-update',
871 logPath: '/tmp/hapi-update/test.log',
872 client,
873 queue,
874 codexArgs: undefined,
875 codexCliOverrides: undefined,
876 sessionId: null as string | null,
877 thinking: false,
878 getPermissionMode() {

Callers 1

Calls 4

pushIsolateAndClearMethod · 0.95
pushMethod · 0.95
closeMethod · 0.95
createModeFunction · 0.70

Tested by

no test coverage detected