(opts: {
originalModel?: string;
redirectedModel?: string;
sessionId?: string | null;
messageId?: string;
provider?: Provider;
messageContext?: ProxySession["messageContext"];
})
| 105 | }; |
| 106 | |
| 107 | function 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, |
no test coverage detected