MCPcopy Create free account
hub / github.com/ding113/claude-code-hub / createSession

Function createSession

tests/unit/proxy/response-handler-non200.test.ts:107–209  ·  view source on GitHub ↗
(opts: {
  originalModel?: string;
  redirectedModel?: string;
  sessionId?: string | null;
  messageId?: string;
  provider?: Provider;
  messageContext?: ProxySession["messageContext"];
})

Source from the content-addressed store, hash-verified

105};
106
107function createSession(opts: {
108 originalModel?: string;
109 redirectedModel?: string;
110 sessionId?: string | null;
111 messageId?: string;
112 provider?: Provider;
113 messageContext?: ProxySession["messageContext"];
114}): ProxySession {
115 const {
116 originalModel = "test-model",
117 redirectedModel = "test-model",
118 sessionId = null,
119 messageId = "msg-123",
120 provider,
121 messageContext,
122 } = opts;
123
124 // Use defaults if not provided
125 const effectiveProvider = provider ?? {
126 id: 1,
127 name: "test-provider",
128 providerType: "openai" as const,
129 baseUrl: "https://api.test.com",
130 priority: 10,
131 weight: 1,
132 costMultiplier: 1,
133 groupTag: "default",
134 isEnabled: true,
135 models: [],
136 createdAt: new Date(),
137 updatedAt: new Date(),
138 };
139
140 const effectiveMessageContext = messageContext ?? {
141 id: "msg-123",
142 user: { id: "user-1", name: "Test User" },
143 key: { id: "key-1", name: "test-key" },
144 isSystemPrompt: false,
145 requireAuth: true,
146 };
147
148 const session = Object.create(ProxySession.prototype) as ProxySession;
149 Object.assign(session, {
150 request: { message: {}, log: "(test)", model: redirectedModel },
151 startTime: Date.now(),
152 method: "POST",
153 requestUrl: new URL("http://localhost/v1/messages"),
154 headers: new Headers(),
155 headerLog: "",
156 userAgent: null,
157 context: {},
158 clientAbortSignal: null,
159 userName: "test-user",
160 authState: null,
161 provider: effectiveProvider,
162 messageContext: effectiveMessageContext,
163 sessionId: sessionId,
164 requestSequence: 1,

Callers 1

Calls 2

pushMethod · 0.80
createMethod · 0.65

Tested by

no test coverage detected