@rynfar/meridian 1.22.2 → 1.23.1

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 CHANGED
@@ -302,6 +302,7 @@ See [`adapters/detect.ts`](src/proxy/adapters/detect.ts) and [`adapters/opencode
302
302
  | `MERIDIAN_WORKDIR` | `CLAUDE_PROXY_WORKDIR` | `cwd()` | Default working directory for SDK |
303
303
  | `MERIDIAN_IDLE_TIMEOUT_SECONDS` | `CLAUDE_PROXY_IDLE_TIMEOUT_SECONDS` | `120` | HTTP keep-alive timeout |
304
304
  | `MERIDIAN_TELEMETRY_SIZE` | `CLAUDE_PROXY_TELEMETRY_SIZE` | `1000` | Telemetry ring buffer size |
305
+ | `MERIDIAN_NO_FILE_CHANGES` | `CLAUDE_PROXY_NO_FILE_CHANGES` | unset | Disable "Files changed" summary in responses |
305
306
 
306
307
  ## Programmatic API
307
308
 
@@ -6964,11 +6964,21 @@ function classifyError(errMsg) {
6964
6964
  if (lower.includes("exited with code") || lower.includes("process exited")) {
6965
6965
  const codeMatch = errMsg.match(/exited with code (\d+)/);
6966
6966
  const code = codeMatch ? codeMatch[1] : "unknown";
6967
+ const hasStderr = lower.includes("subprocess stderr:");
6968
+ const stderrContent = hasStderr ? lower.split("subprocess stderr:")[1]?.trim() ?? "" : "";
6969
+ if (stderrContent.includes("authentication") || stderrContent.includes("401") || stderrContent.includes("oauth")) {
6970
+ return {
6971
+ status: 401,
6972
+ type: "authentication_error",
6973
+ message: "Claude authentication expired or invalid. Run 'claude login' in your terminal to re-authenticate, then restart the proxy."
6974
+ };
6975
+ }
6967
6976
  if (code === "1" && !lower.includes("tool") && !lower.includes("mcp")) {
6977
+ const stderrHint = stderrContent ? ` Subprocess output: ${stderrContent.slice(0, 200)}` : " Run with CLAUDE_PROXY_DEBUG=1 for more detail.";
6968
6978
  return {
6969
6979
  status: 401,
6970
6980
  type: "authentication_error",
6971
- message: "Claude Code process crashed (exit code 1). This usually means authentication expired. Run 'claude login' in your terminal to re-authenticate, then restart the proxy."
6981
+ message: `Claude Code process exited (code 1). This is often an authentication issue try 'claude login' and restart the proxy.${stderrHint}`
6972
6982
  };
6973
6983
  }
6974
6984
  return {
@@ -13358,7 +13368,8 @@ function buildQueryOptions(ctx) {
13358
13368
  isUndo,
13359
13369
  undoRollbackUuid,
13360
13370
  sdkHooks,
13361
- adapter
13371
+ adapter,
13372
+ onStderr
13362
13373
  } = ctx;
13363
13374
  const blockedTools = [...adapter.getBlockedBuiltinTools(), ...adapter.getAgentIncompatibleTools()];
13364
13375
  const mcpServerName = adapter.getMcpServerName();
@@ -13388,6 +13399,7 @@ function buildQueryOptions(ctx) {
13388
13399
  mcpServers: { [mcpServerName]: createOpencodeMcpServer() }
13389
13400
  },
13390
13401
  plugins: [],
13402
+ ...onStderr ? { stderr: onStderr } : {},
13391
13403
  env: {
13392
13404
  ...cleanEnv,
13393
13405
  ENABLE_TOOL_SEARCH: "false",
@@ -14194,7 +14206,8 @@ function createProxyServer(config = {}) {
14194
14206
  passthroughMcp = createPassthroughMcpServer(body.tools);
14195
14207
  }
14196
14208
  const mcpPrefix = `mcp__${adapter.getMcpServerName()}__`;
14197
- const fileChangeHook = createFileChangeHook(fileChanges, mcpPrefix);
14209
+ const trackFileChanges = !(process.env.MERIDIAN_NO_FILE_CHANGES ?? process.env.CLAUDE_PROXY_NO_FILE_CHANGES);
14210
+ const fileChangeHook = trackFileChanges ? createFileChangeHook(fileChanges, mcpPrefix) : undefined;
14198
14211
  const sdkHooks = passthrough ? {
14199
14212
  PreToolUse: [{
14200
14213
  matcher: "",
@@ -14212,7 +14225,12 @@ function createProxyServer(config = {}) {
14212
14225
  }]
14213
14226
  } : {
14214
14227
  ...adapter.buildSdkHooks?.(body, sdkAgents) ?? {},
14215
- PostToolUse: [fileChangeHook]
14228
+ ...fileChangeHook ? { PostToolUse: [fileChangeHook] } : {}
14229
+ };
14230
+ const stderrLines = [];
14231
+ const onStderr = (data) => {
14232
+ stderrLines.push(data.trimEnd());
14233
+ claudeLog("subprocess.stderr", { line: data.trimEnd() });
14216
14234
  };
14217
14235
  if (!stream2) {
14218
14236
  const contentBlocks = [];
@@ -14250,7 +14268,8 @@ function createProxyServer(config = {}) {
14250
14268
  isUndo,
14251
14269
  undoRollbackUuid,
14252
14270
  sdkHooks,
14253
- adapter
14271
+ adapter,
14272
+ onStderr
14254
14273
  }))) {
14255
14274
  if (event.type === "assistant") {
14256
14275
  didYieldContent = true;
@@ -14288,7 +14307,8 @@ function createProxyServer(config = {}) {
14288
14307
  isUndo: false,
14289
14308
  undoRollbackUuid: undefined,
14290
14309
  sdkHooks,
14291
- adapter
14310
+ adapter,
14311
+ onStderr
14292
14312
  }));
14293
14313
  return;
14294
14314
  }
@@ -14357,11 +14377,18 @@ function createProxyServer(config = {}) {
14357
14377
  durationMs: Date.now() - upstreamStartAt
14358
14378
  });
14359
14379
  } catch (error) {
14380
+ const stderrOutput = stderrLines.join(`
14381
+ `).trim();
14382
+ if (stderrOutput && error instanceof Error && !error.message.includes(stderrOutput)) {
14383
+ error.message = `${error.message}
14384
+ Subprocess stderr: ${stderrOutput}`;
14385
+ }
14360
14386
  claudeLog("upstream.failed", {
14361
14387
  mode: "non_stream",
14362
14388
  model,
14363
14389
  durationMs: Date.now() - upstreamStartAt,
14364
- error: error instanceof Error ? error.message : String(error)
14390
+ error: error instanceof Error ? error.message : String(error),
14391
+ ...stderrOutput ? { stderr: stderrOutput } : {}
14365
14392
  });
14366
14393
  throw error;
14367
14394
  }
@@ -14379,19 +14406,21 @@ function createProxyServer(config = {}) {
14379
14406
  }
14380
14407
  const hasToolUse = contentBlocks.some((b) => b.type === "tool_use");
14381
14408
  const stopReason = hasToolUse ? "tool_use" : "end_turn";
14382
- if (passthrough && stopReason === "end_turn" && adapter.extractFileChangesFromToolUse) {
14383
- const passthroughChanges = extractFileChangesFromMessages(body.messages || [], adapter.extractFileChangesFromToolUse.bind(adapter));
14384
- fileChanges.push(...passthroughChanges);
14385
- }
14386
- const fileChangeSummary = formatFileChangeSummary(fileChanges);
14387
- if (fileChangeSummary) {
14388
- const lastTextBlock = [...contentBlocks].reverse().find((b) => b.type === "text");
14389
- if (lastTextBlock) {
14390
- lastTextBlock.text = lastTextBlock.text + fileChangeSummary;
14391
- } else {
14392
- contentBlocks.push({ type: "text", text: fileChangeSummary.trimStart() });
14409
+ if (trackFileChanges) {
14410
+ if (passthrough && stopReason === "end_turn" && adapter.extractFileChangesFromToolUse) {
14411
+ const passthroughChanges = extractFileChangesFromMessages(body.messages || [], adapter.extractFileChangesFromToolUse.bind(adapter));
14412
+ fileChanges.push(...passthroughChanges);
14413
+ }
14414
+ const fileChangeSummary = formatFileChangeSummary(fileChanges);
14415
+ if (fileChangeSummary) {
14416
+ const lastTextBlock = [...contentBlocks].reverse().find((b) => b.type === "text");
14417
+ if (lastTextBlock) {
14418
+ lastTextBlock.text = lastTextBlock.text + fileChangeSummary;
14419
+ } else {
14420
+ contentBlocks.push({ type: "text", text: fileChangeSummary.trimStart() });
14421
+ }
14422
+ claudeLog("response.file_changes", { mode: "non_stream", count: fileChanges.length });
14393
14423
  }
14394
- claudeLog("response.file_changes", { mode: "non_stream", count: fileChanges.length });
14395
14424
  }
14396
14425
  if (contentBlocks.length === 0) {
14397
14426
  contentBlocks.push({
@@ -14509,7 +14538,8 @@ function createProxyServer(config = {}) {
14509
14538
  isUndo,
14510
14539
  undoRollbackUuid,
14511
14540
  sdkHooks,
14512
- adapter
14541
+ adapter,
14542
+ onStderr
14513
14543
  }))) {
14514
14544
  if (event.type === "stream_event") {
14515
14545
  didYieldClientEvent = true;
@@ -14547,7 +14577,8 @@ function createProxyServer(config = {}) {
14547
14577
  isUndo: false,
14548
14578
  undoRollbackUuid: undefined,
14549
14579
  sdkHooks,
14550
- adapter
14580
+ adapter,
14581
+ onStderr
14551
14582
  }));
14552
14583
  return;
14553
14584
  }
@@ -14750,37 +14781,39 @@ data: ${JSON.stringify({
14750
14781
 
14751
14782
  `), "passthrough_message_delta");
14752
14783
  }
14753
- if (passthrough && adapter.extractFileChangesFromToolUse) {
14784
+ if (trackFileChanges && passthrough && adapter.extractFileChangesFromToolUse) {
14754
14785
  const passthroughChanges = extractFileChangesFromMessages(body.messages || [], adapter.extractFileChangesFromToolUse.bind(adapter));
14755
14786
  fileChanges.push(...passthroughChanges);
14756
14787
  }
14757
- const streamFileChangeSummary = formatFileChangeSummary(fileChanges);
14758
- if (streamFileChangeSummary && messageStartEmitted) {
14759
- const fcBlockIndex = nextClientBlockIndex++;
14760
- safeEnqueue(encoder.encode(`event: content_block_start
14788
+ if (trackFileChanges) {
14789
+ const streamFileChangeSummary = formatFileChangeSummary(fileChanges);
14790
+ if (streamFileChangeSummary && messageStartEmitted) {
14791
+ const fcBlockIndex = nextClientBlockIndex++;
14792
+ safeEnqueue(encoder.encode(`event: content_block_start
14761
14793
  data: ${JSON.stringify({
14762
- type: "content_block_start",
14763
- index: fcBlockIndex,
14764
- content_block: { type: "text", text: "" }
14765
- })}
14794
+ type: "content_block_start",
14795
+ index: fcBlockIndex,
14796
+ content_block: { type: "text", text: "" }
14797
+ })}
14766
14798
 
14767
14799
  `), "file_changes_block_start");
14768
- safeEnqueue(encoder.encode(`event: content_block_delta
14800
+ safeEnqueue(encoder.encode(`event: content_block_delta
14769
14801
  data: ${JSON.stringify({
14770
- type: "content_block_delta",
14771
- index: fcBlockIndex,
14772
- delta: { type: "text_delta", text: streamFileChangeSummary }
14773
- })}
14802
+ type: "content_block_delta",
14803
+ index: fcBlockIndex,
14804
+ delta: { type: "text_delta", text: streamFileChangeSummary }
14805
+ })}
14774
14806
 
14775
14807
  `), "file_changes_text_delta");
14776
- safeEnqueue(encoder.encode(`event: content_block_stop
14808
+ safeEnqueue(encoder.encode(`event: content_block_stop
14777
14809
  data: ${JSON.stringify({
14778
- type: "content_block_stop",
14779
- index: fcBlockIndex
14780
- })}
14810
+ type: "content_block_stop",
14811
+ index: fcBlockIndex
14812
+ })}
14781
14813
 
14782
14814
  `), "file_changes_block_stop");
14783
- claudeLog("response.file_changes", { mode: "stream", count: fileChanges.length });
14815
+ claudeLog("response.file_changes", { mode: "stream", count: fileChanges.length });
14816
+ }
14784
14817
  }
14785
14818
  if (messageStartEmitted) {
14786
14819
  safeEnqueue(encoder.encode(`event: message_stop
@@ -14852,6 +14885,12 @@ data: {"type":"message_stop"}
14852
14885
  });
14853
14886
  return;
14854
14887
  }
14888
+ const stderrOutput = stderrLines.join(`
14889
+ `).trim();
14890
+ if (stderrOutput && error instanceof Error && !error.message.includes(stderrOutput)) {
14891
+ error.message = `${error.message}
14892
+ Subprocess stderr: ${stderrOutput}`;
14893
+ }
14855
14894
  const errMsg = error instanceof Error ? error.message : String(error);
14856
14895
  claudeLog("upstream.failed", {
14857
14896
  mode: "stream",
@@ -14859,7 +14898,8 @@ data: {"type":"message_stop"}
14859
14898
  durationMs: Date.now() - upstreamStartAt,
14860
14899
  streamEventsSeen,
14861
14900
  textEventsForwarded,
14862
- error: errMsg
14901
+ error: errMsg,
14902
+ ...stderrOutput ? { stderr: stderrOutput } : {}
14863
14903
  });
14864
14904
  const streamErr = classifyError(errMsg);
14865
14905
  claudeLog("proxy.anthropic.error", { error: errMsg, classified: streamErr.type });
package/dist/cli.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  __require,
4
4
  startProxyServer
5
- } from "./cli-avsc9sr9.js";
5
+ } from "./cli-nnnww55k.js";
6
6
 
7
7
  // bin/cli.ts
8
8
  import { createRequire } from "module";
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/proxy/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAoF7D;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAG3D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAGxD"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/proxy/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAmG7D;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAG3D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAGxD"}
@@ -37,6 +37,8 @@ export interface QueryContext {
37
37
  sdkHooks?: any;
38
38
  /** The agent adapter providing tool configuration */
39
39
  adapter: AgentAdapter;
40
+ /** Callback to receive stderr lines from the Claude subprocess */
41
+ onStderr?: (line: string) => void;
40
42
  }
41
43
  /**
42
44
  * Build the options object for the Claude Agent SDK query() call.
@@ -51,11 +53,12 @@ export declare function buildQueryOptions(ctx: QueryContext): {
51
53
  forkSession?: boolean | undefined;
52
54
  resume?: string | undefined;
53
55
  agents?: Record<string, any> | undefined;
54
- plugins: never[];
55
56
  env: {
56
57
  ENABLE_CLAUDEAI_MCP_SERVERS?: string | undefined;
57
58
  ENABLE_TOOL_SEARCH: string;
58
59
  };
60
+ stderr?: ((line: string) => void) | undefined;
61
+ plugins: never[];
59
62
  allowedTools?: string[] | undefined;
60
63
  mcpServers?: {
61
64
  oc: import("@anthropic-ai/claude-agent-sdk").McpSdkServerConfigWithInstance;
@@ -79,11 +82,12 @@ export declare function buildQueryOptions(ctx: QueryContext): {
79
82
  forkSession?: boolean | undefined;
80
83
  resume?: string | undefined;
81
84
  agents?: Record<string, any> | undefined;
82
- plugins: never[];
83
85
  env: {
84
86
  ENABLE_CLAUDEAI_MCP_SERVERS?: string | undefined;
85
87
  ENABLE_TOOL_SEARCH: string;
86
88
  };
89
+ stderr?: ((line: string) => void) | undefined;
90
+ plugins: never[];
87
91
  disallowedTools: string[];
88
92
  allowedTools: string[];
89
93
  mcpServers: {
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/proxy/query.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAE7C,OAAO,EAAE,0BAA0B,EAAwB,MAAM,oBAAoB,CAAA;AAErF,MAAM,WAAW,YAAY;IAC3B,iEAAiE;IACjE,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;IACnC,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,+BAA+B;IAC/B,gBAAgB,EAAE,MAAM,CAAA;IACxB,yCAAyC;IACzC,aAAa,EAAE,MAAM,CAAA;IACrB,gCAAgC;IAChC,gBAAgB,EAAE,MAAM,CAAA;IACxB,0CAA0C;IAC1C,WAAW,EAAE,OAAO,CAAA;IACpB,0CAA0C;IAC1C,MAAM,EAAE,OAAO,CAAA;IACf,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC9B,mEAAmE;IACnE,cAAc,CAAC,EAAE,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAA;IAC9D,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;IAC5C,0DAA0D;IAC1D,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,wCAAwC;IACxC,MAAM,EAAE,OAAO,CAAA;IACf,8CAA8C;IAC9C,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,GAAG,CAAA;IACd,qDAAqD;IACrD,OAAO,EAAE,YAAY,CAAA;CACtB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwDlD"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/proxy/query.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAE7C,OAAO,EAAE,0BAA0B,EAAwB,MAAM,oBAAoB,CAAA;AAErF,MAAM,WAAW,YAAY;IAC3B,iEAAiE;IACjE,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;IACnC,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,+BAA+B;IAC/B,gBAAgB,EAAE,MAAM,CAAA;IACxB,yCAAyC;IACzC,aAAa,EAAE,MAAM,CAAA;IACrB,gCAAgC;IAChC,gBAAgB,EAAE,MAAM,CAAA;IACxB,0CAA0C;IAC1C,WAAW,EAAE,OAAO,CAAA;IACpB,0CAA0C;IAC1C,MAAM,EAAE,OAAO,CAAA;IACf,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC9B,mEAAmE;IACnE,cAAc,CAAC,EAAE,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAA;IAC9D,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;IAC5C,0DAA0D;IAC1D,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,wCAAwC;IACxC,MAAM,EAAE,OAAO,CAAA;IACf,8CAA8C;IAC9C,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,GAAG,CAAA;IACd,qDAAqD;IACrD,OAAO,EAAE,YAAY,CAAA;IACrB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAClC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,YAAY;;;;;;;;;;;;yBAR/B,MAAM,KAAK,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAAf,MAAM,KAAK,IAAI;;;;;;;;;;;;;;;;;;;;;EAiElC"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/proxy/server.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACtE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,CAAA;AAiBvD,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,oBAAoB,EACpB,KAAK,aAAa,EACnB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAA+B,iBAAiB,EAAE,mBAAmB,EAAgB,MAAM,iBAAiB,CAAA;AAEnH,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAA;AAChE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,CAAA;AACjD,YAAY,EAAE,aAAa,EAAE,CAAA;AAyF7B,wBAAgB,iBAAiB,CAAC,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM,GAAG,WAAW,CA2qChF;AAED,wBAAsB,gBAAgB,CAAC,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CA0ChG"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/proxy/server.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACtE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,CAAA;AAiBvD,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,oBAAoB,EACpB,KAAK,aAAa,EACnB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAA+B,iBAAiB,EAAE,mBAAmB,EAAgB,MAAM,iBAAiB,CAAA;AAEnH,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAA;AAChE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,CAAA;AACjD,YAAY,EAAE,aAAa,EAAE,CAAA;AAyF7B,wBAAgB,iBAAiB,CAAC,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM,GAAG,WAAW,CAksChF;AAED,wBAAsB,gBAAgB,CAAC,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CA0ChG"}
package/dist/server.js CHANGED
@@ -6,7 +6,7 @@ import {
6
6
  getMaxSessionsLimit,
7
7
  hashMessage,
8
8
  startProxyServer
9
- } from "./cli-avsc9sr9.js";
9
+ } from "./cli-nnnww55k.js";
10
10
  export {
11
11
  startProxyServer,
12
12
  hashMessage,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rynfar/meridian",
3
- "version": "1.22.2",
3
+ "version": "1.23.1",
4
4
  "description": "Local Anthropic API powered by your Claude Max subscription. One subscription, every agent.",
5
5
  "type": "module",
6
6
  "main": "./dist/server.js",