@rynfar/meridian 1.37.5 → 1.37.7
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 +5 -2
- package/dist/{cli-yahkdc3h.js → cli-z5r7ptsm.js} +124 -24
- package/dist/cli.js +1 -1
- package/dist/proxy/openai.d.ts +29 -1
- package/dist/proxy/openai.d.ts.map +1 -1
- package/dist/proxy/server.d.ts.map +1 -1
- package/dist/server.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -149,14 +149,14 @@ The Claude Code SDK provides programmatic access to Claude. But your favorite co
|
|
|
149
149
|
## Features
|
|
150
150
|
|
|
151
151
|
- **Standard Anthropic API** — drop-in compatible with any tool that supports a custom `base_url`
|
|
152
|
-
- **OpenAI-compatible API** — `/v1/chat/completions` and `/v1/models` for tools that only speak the OpenAI protocol (Open WebUI, Continue, etc.) — no LiteLLM needed
|
|
152
|
+
- **OpenAI-compatible API** — `/v1/chat/completions` and `/v1/models` for tools that only speak the OpenAI protocol (Open WebUI, Continue, etc.) — no LiteLLM needed, including `image_url` support for data URLs
|
|
153
153
|
- **Session management** — conversations persist across requests, survive compaction and undo, resume after proxy restarts
|
|
154
154
|
- **Streaming** — full SSE streaming with MCP tool filtering
|
|
155
155
|
- **Concurrent sessions** — run parent and subagent requests in parallel
|
|
156
156
|
- **Subagent model selection** — primary agents get 1M context; subagents get 200k, preserving rate-limit budget
|
|
157
157
|
- **Auto token refresh** — expired OAuth tokens are refreshed automatically; requests continue without interruption
|
|
158
158
|
- **Passthrough mode** — forward tool calls to the client instead of executing internally
|
|
159
|
-
- **Multimodal** — images, documents,
|
|
159
|
+
- **Multimodal** — images, documents, file attachments, and multimodal tool results pass through to Claude
|
|
160
160
|
- **Multi-profile** — switch between Claude accounts instantly, no restart needed
|
|
161
161
|
- **Telemetry dashboard** — real-time performance metrics at `/telemetry`, including token usage and prompt cache efficiency ([`MONITORING.md`](MONITORING.md))
|
|
162
162
|
- **Telemetry persistence** — opt-in SQLite storage for telemetry data that survives proxy restarts, with configurable retention
|
|
@@ -409,6 +409,9 @@ Meridian speaks the OpenAI protocol natively — no LiteLLM or translation proxy
|
|
|
409
409
|
|
|
410
410
|
**`POST /v1/chat/completions`** — accepts OpenAI chat format, returns OpenAI completion format (streaming and non-streaming)
|
|
411
411
|
|
|
412
|
+
- `image_url` parts are supported when provided as **data URLs** (`data:image/...;base64,...`)
|
|
413
|
+
- multimodal tool flows where a tool returns `tool_result.content = [text, image]` are preserved through the structured multimodal path instead of being flattened to text
|
|
414
|
+
|
|
412
415
|
**`GET /v1/models`** — returns available Claude models in OpenAI format
|
|
413
416
|
|
|
414
417
|
Point any OpenAI-compatible tool at `http://127.0.0.1:3456` with any API key value:
|
|
@@ -8904,7 +8904,67 @@ function isClosedControllerError(error) {
|
|
|
8904
8904
|
function extractOpenAiContent(content) {
|
|
8905
8905
|
if (typeof content === "string")
|
|
8906
8906
|
return content;
|
|
8907
|
-
return content.
|
|
8907
|
+
return content.map((p) => {
|
|
8908
|
+
if (p.type === "text" && typeof p.text === "string")
|
|
8909
|
+
return p.text;
|
|
8910
|
+
if (p.type === "image_url")
|
|
8911
|
+
return "[Image attached]";
|
|
8912
|
+
return "";
|
|
8913
|
+
}).filter(Boolean).join("");
|
|
8914
|
+
}
|
|
8915
|
+
function parseDataUrlImage(url) {
|
|
8916
|
+
const match2 = /^data:(image\/[a-zA-Z0-9.+-]+);base64,(.+)$/s.exec(url);
|
|
8917
|
+
if (!match2)
|
|
8918
|
+
return null;
|
|
8919
|
+
const mediaType = match2[1];
|
|
8920
|
+
const data = match2[2];
|
|
8921
|
+
if (!mediaType || !data)
|
|
8922
|
+
return null;
|
|
8923
|
+
return {
|
|
8924
|
+
type: "image",
|
|
8925
|
+
source: {
|
|
8926
|
+
type: "base64",
|
|
8927
|
+
media_type: mediaType,
|
|
8928
|
+
data
|
|
8929
|
+
}
|
|
8930
|
+
};
|
|
8931
|
+
}
|
|
8932
|
+
function translateOpenAiContentToAnthropic(content) {
|
|
8933
|
+
if (typeof content === "string")
|
|
8934
|
+
return content;
|
|
8935
|
+
const parts = [];
|
|
8936
|
+
for (const part of content) {
|
|
8937
|
+
if (part.type === "text" && typeof part.text === "string") {
|
|
8938
|
+
parts.push({ type: "text", text: part.text });
|
|
8939
|
+
continue;
|
|
8940
|
+
}
|
|
8941
|
+
if (part.type === "image_url") {
|
|
8942
|
+
const url = part.image_url?.url;
|
|
8943
|
+
if (typeof url === "string") {
|
|
8944
|
+
const parsed = parseDataUrlImage(url);
|
|
8945
|
+
if (parsed) {
|
|
8946
|
+
parts.push(parsed);
|
|
8947
|
+
continue;
|
|
8948
|
+
}
|
|
8949
|
+
}
|
|
8950
|
+
parts.push({ type: "text", text: "[Unsupported image_url omitted: only data URLs are currently supported]" });
|
|
8951
|
+
}
|
|
8952
|
+
}
|
|
8953
|
+
if (parts.length === 1 && parts[0]?.type === "text") {
|
|
8954
|
+
return parts[0].text;
|
|
8955
|
+
}
|
|
8956
|
+
return parts;
|
|
8957
|
+
}
|
|
8958
|
+
function summarizeAnthropicContent(content) {
|
|
8959
|
+
if (typeof content === "string")
|
|
8960
|
+
return content;
|
|
8961
|
+
return content.map((part) => {
|
|
8962
|
+
if (part.type === "text")
|
|
8963
|
+
return part.text;
|
|
8964
|
+
if (part.type === "image")
|
|
8965
|
+
return "[Image attached]";
|
|
8966
|
+
return "";
|
|
8967
|
+
}).filter(Boolean).join("");
|
|
8908
8968
|
}
|
|
8909
8969
|
function translateOpenAiToAnthropic(body) {
|
|
8910
8970
|
const messages = body.messages ?? [];
|
|
@@ -8920,7 +8980,7 @@ function translateOpenAiToAnthropic(body) {
|
|
|
8920
8980
|
} else {
|
|
8921
8981
|
turns.push({
|
|
8922
8982
|
role: msg.role === "assistant" ? "assistant" : "user",
|
|
8923
|
-
content:
|
|
8983
|
+
content: translateOpenAiContentToAnthropic(msg.content ?? "")
|
|
8924
8984
|
});
|
|
8925
8985
|
}
|
|
8926
8986
|
}
|
|
@@ -8928,7 +8988,7 @@ function translateOpenAiToAnthropic(body) {
|
|
|
8928
8988
|
`);
|
|
8929
8989
|
let messagesToSend = turns;
|
|
8930
8990
|
if (turns.length > 1) {
|
|
8931
|
-
const history = turns.slice(0, -1).map((m) => `${m.role}: ${m.content}`).join(`
|
|
8991
|
+
const history = turns.slice(0, -1).map((m) => `${m.role}: ${summarizeAnthropicContent(m.content)}`).join(`
|
|
8932
8992
|
`);
|
|
8933
8993
|
const historyBlock = `<conversation_history>
|
|
8934
8994
|
${history}
|
|
@@ -16395,6 +16455,58 @@ function storeSession(sessionId, messages, claudeSessionId, workingDirectory, sd
|
|
|
16395
16455
|
// src/proxy/server.ts
|
|
16396
16456
|
var exec3 = promisify3(execCallback2);
|
|
16397
16457
|
var claudeExecutable = "";
|
|
16458
|
+
var MULTIMODAL_TYPES = new Set(["image", "document", "file"]);
|
|
16459
|
+
function hasMultimodalContent(content) {
|
|
16460
|
+
if (!Array.isArray(content))
|
|
16461
|
+
return false;
|
|
16462
|
+
return content.some((block) => {
|
|
16463
|
+
if (!block || typeof block !== "object")
|
|
16464
|
+
return false;
|
|
16465
|
+
if (MULTIMODAL_TYPES.has(block.type))
|
|
16466
|
+
return true;
|
|
16467
|
+
if (block.type === "tool_result")
|
|
16468
|
+
return hasMultimodalContent(block.content);
|
|
16469
|
+
return false;
|
|
16470
|
+
});
|
|
16471
|
+
}
|
|
16472
|
+
function stripCacheControlDeep(content) {
|
|
16473
|
+
if (!Array.isArray(content))
|
|
16474
|
+
return content;
|
|
16475
|
+
return content.map((block) => {
|
|
16476
|
+
if (!block || typeof block !== "object")
|
|
16477
|
+
return block;
|
|
16478
|
+
const { cache_control, ...rest } = block;
|
|
16479
|
+
if (block.type === "tool_result" && Array.isArray(block.content)) {
|
|
16480
|
+
return {
|
|
16481
|
+
...rest,
|
|
16482
|
+
content: stripCacheControlDeep(block.content)
|
|
16483
|
+
};
|
|
16484
|
+
}
|
|
16485
|
+
return rest;
|
|
16486
|
+
});
|
|
16487
|
+
}
|
|
16488
|
+
function normalizeStructuredUserContent(content) {
|
|
16489
|
+
if (!Array.isArray(content))
|
|
16490
|
+
return content;
|
|
16491
|
+
const normalized = [];
|
|
16492
|
+
for (const block of content) {
|
|
16493
|
+
if (!block || typeof block !== "object")
|
|
16494
|
+
continue;
|
|
16495
|
+
if (block.type === "tool_result" && Array.isArray(block.content) && hasMultimodalContent(block.content)) {
|
|
16496
|
+
normalized.push(...normalizeStructuredUserContent(block.content));
|
|
16497
|
+
continue;
|
|
16498
|
+
}
|
|
16499
|
+
if (block.type === "tool_result" && Array.isArray(block.content)) {
|
|
16500
|
+
normalized.push({
|
|
16501
|
+
...block,
|
|
16502
|
+
content: normalizeStructuredUserContent(block.content)
|
|
16503
|
+
});
|
|
16504
|
+
continue;
|
|
16505
|
+
}
|
|
16506
|
+
normalized.push(block);
|
|
16507
|
+
}
|
|
16508
|
+
return normalized;
|
|
16509
|
+
}
|
|
16398
16510
|
function flattenAssistantContent(content) {
|
|
16399
16511
|
if (typeof content === "string")
|
|
16400
16512
|
return content;
|
|
@@ -16431,16 +16543,15 @@ function flattenUserContent(content, sanitizeOpts = {}) {
|
|
|
16431
16543
|
}).filter(Boolean).join(`
|
|
16432
16544
|
`);
|
|
16433
16545
|
}
|
|
16434
|
-
function buildFreshPrompt(messages,
|
|
16435
|
-
const
|
|
16436
|
-
const hasMultimodal = messages.some((m) => Array.isArray(m.content) && m.content.some((b) => MULTIMODAL_TYPES.has(b.type)));
|
|
16546
|
+
function buildFreshPrompt(messages, sanitizeOpts = {}) {
|
|
16547
|
+
const hasMultimodal = messages.some((m) => hasMultimodalContent(m.content));
|
|
16437
16548
|
if (hasMultimodal) {
|
|
16438
16549
|
const structured = [];
|
|
16439
16550
|
for (const m of messages) {
|
|
16440
16551
|
if (m.role === "user") {
|
|
16441
16552
|
structured.push({
|
|
16442
16553
|
type: "user",
|
|
16443
|
-
message: { role: "user", content:
|
|
16554
|
+
message: { role: "user", content: normalizeStructuredUserContent(stripCacheControlDeep(m.content)) },
|
|
16444
16555
|
parent_tool_use_id: null
|
|
16445
16556
|
});
|
|
16446
16557
|
} else {
|
|
@@ -16567,17 +16678,7 @@ function createProxyServer(config = {}) {
|
|
|
16567
16678
|
return withClaudeLogContext({ requestId: requestMeta.requestId, endpoint: requestMeta.endpoint }, async () => {
|
|
16568
16679
|
const adapter = detectAdapter(c);
|
|
16569
16680
|
try {
|
|
16570
|
-
let
|
|
16571
|
-
if (!Array.isArray(content))
|
|
16572
|
-
return content;
|
|
16573
|
-
return content.map((block) => {
|
|
16574
|
-
if (block.cache_control) {
|
|
16575
|
-
const { cache_control, ...rest } = block;
|
|
16576
|
-
return rest;
|
|
16577
|
-
}
|
|
16578
|
-
return block;
|
|
16579
|
-
});
|
|
16580
|
-
}, makePrompt = function() {
|
|
16681
|
+
let makePrompt = function() {
|
|
16581
16682
|
if (structuredMessages) {
|
|
16582
16683
|
const msgs = structuredMessages;
|
|
16583
16684
|
return async function* () {
|
|
@@ -16717,8 +16818,7 @@ function createProxyServer(config = {}) {
|
|
|
16717
16818
|
} else {
|
|
16718
16819
|
messagesToConvert = allMessages;
|
|
16719
16820
|
}
|
|
16720
|
-
const
|
|
16721
|
-
const hasMultimodal = messagesToConvert?.some((m) => Array.isArray(m.content) && m.content.some((b) => MULTIMODAL_TYPES.has(b.type)));
|
|
16821
|
+
const hasMultimodal = messagesToConvert?.some((m) => hasMultimodalContent(m.content));
|
|
16722
16822
|
let structuredMessages;
|
|
16723
16823
|
let textPrompt;
|
|
16724
16824
|
if (hasMultimodal) {
|
|
@@ -16728,7 +16828,7 @@ function createProxyServer(config = {}) {
|
|
|
16728
16828
|
if (m.role === "user") {
|
|
16729
16829
|
structuredMessages.push({
|
|
16730
16830
|
type: "user",
|
|
16731
|
-
message: { role: "user", content:
|
|
16831
|
+
message: { role: "user", content: normalizeStructuredUserContent(stripCacheControlDeep(m.content)) },
|
|
16732
16832
|
parent_tool_use_id: null
|
|
16733
16833
|
});
|
|
16734
16834
|
}
|
|
@@ -16738,7 +16838,7 @@ function createProxyServer(config = {}) {
|
|
|
16738
16838
|
if (m.role === "user") {
|
|
16739
16839
|
structuredMessages.push({
|
|
16740
16840
|
type: "user",
|
|
16741
|
-
message: { role: "user", content:
|
|
16841
|
+
message: { role: "user", content: normalizeStructuredUserContent(stripCacheControlDeep(m.content)) },
|
|
16742
16842
|
parent_tool_use_id: null
|
|
16743
16843
|
});
|
|
16744
16844
|
} else {
|
|
@@ -16912,7 +17012,7 @@ function createProxyServer(config = {}) {
|
|
|
16912
17012
|
for (let i = 0;i < allMessages.length; i++)
|
|
16913
17013
|
sdkUuidMap.push(null);
|
|
16914
17014
|
yield* query(buildQueryOptions({
|
|
16915
|
-
prompt: buildFreshPrompt(allMessages,
|
|
17015
|
+
prompt: buildFreshPrompt(allMessages, sanitizeOpts),
|
|
16916
17016
|
model,
|
|
16917
17017
|
workingDirectory,
|
|
16918
17018
|
systemContext,
|
|
@@ -17281,7 +17381,7 @@ Subprocess stderr: ${stderrOutput}`;
|
|
|
17281
17381
|
for (let i = 0;i < allMessages.length; i++)
|
|
17282
17382
|
sdkUuidMap.push(null);
|
|
17283
17383
|
yield* query(buildQueryOptions({
|
|
17284
|
-
prompt: buildFreshPrompt(allMessages,
|
|
17384
|
+
prompt: buildFreshPrompt(allMessages, sanitizeOpts),
|
|
17285
17385
|
model,
|
|
17286
17386
|
workingDirectory,
|
|
17287
17387
|
systemContext,
|
package/dist/cli.js
CHANGED
package/dist/proxy/openai.d.ts
CHANGED
|
@@ -16,9 +16,22 @@
|
|
|
16
16
|
* and don't benefit from Meridian's session resumption.
|
|
17
17
|
*/
|
|
18
18
|
export type OpenAiRole = "system" | "user" | "assistant";
|
|
19
|
+
export interface OpenAiTextPart {
|
|
20
|
+
type: "text";
|
|
21
|
+
text?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface OpenAiImageUrlPart {
|
|
24
|
+
type: "image_url";
|
|
25
|
+
image_url?: {
|
|
26
|
+
url?: string;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
19
29
|
export interface OpenAiContentPart {
|
|
20
30
|
type: string;
|
|
21
31
|
text?: string;
|
|
32
|
+
image_url?: {
|
|
33
|
+
url?: string;
|
|
34
|
+
};
|
|
22
35
|
}
|
|
23
36
|
export interface OpenAiMessage {
|
|
24
37
|
role: OpenAiRole;
|
|
@@ -33,9 +46,22 @@ export interface OpenAiChatRequest {
|
|
|
33
46
|
temperature?: number;
|
|
34
47
|
top_p?: number;
|
|
35
48
|
}
|
|
49
|
+
export interface AnthropicTextBlock {
|
|
50
|
+
type: "text";
|
|
51
|
+
text: string;
|
|
52
|
+
}
|
|
53
|
+
export interface AnthropicImageBlock {
|
|
54
|
+
type: "image";
|
|
55
|
+
source: {
|
|
56
|
+
type: "base64";
|
|
57
|
+
media_type: string;
|
|
58
|
+
data: string;
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
export type AnthropicInputContentBlock = AnthropicTextBlock | AnthropicImageBlock;
|
|
36
62
|
export interface AnthropicMessage {
|
|
37
63
|
role: "user" | "assistant";
|
|
38
|
-
content: string;
|
|
64
|
+
content: string | AnthropicInputContentBlock[];
|
|
39
65
|
}
|
|
40
66
|
export interface AnthropicRequestBody {
|
|
41
67
|
model: string;
|
|
@@ -103,6 +129,8 @@ export interface OpenAiModel {
|
|
|
103
129
|
/**
|
|
104
130
|
* Normalise an OpenAI message content field to a plain string.
|
|
105
131
|
* Handles both string content and structured content arrays.
|
|
132
|
+
* Non-text blocks are summarized so history packing does not silently erase
|
|
133
|
+
* multimodal context.
|
|
106
134
|
*/
|
|
107
135
|
export declare function extractOpenAiContent(content: string | OpenAiContentPart[]): string;
|
|
108
136
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/proxy/openai.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAA;AAExD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/proxy/openai.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/proxy/server.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACtE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,CAAA;AA0BvD,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,oBAAoB,EACpB,KAAK,aAAa,EAEnB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAA+B,iBAAiB,EAAE,mBAAmB,EAAsC,MAAM,iBAAiB,CAAA;AAGzI,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAA;AAChE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,CAAA;AACjD,YAAY,EAAE,aAAa,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/proxy/server.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACtE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,CAAA;AA0BvD,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,oBAAoB,EACpB,KAAK,aAAa,EAEnB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAA+B,iBAAiB,EAAE,mBAAmB,EAAsC,MAAM,iBAAiB,CAAA;AAGzI,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAA;AAChE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,CAAA;AACjD,YAAY,EAAE,aAAa,EAAE,CAAA;AA8N7B,wBAAgB,iBAAiB,CAAC,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM,GAAG,WAAW,CAy5DhF;AAED,wBAAsB,gBAAgB,CAAC,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAiEhG"}
|
package/dist/server.js
CHANGED
package/package.json
CHANGED