@rynfar/meridian 1.62.6 → 1.62.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.
@@ -44,13 +44,14 @@ import {
44
44
  isClosedControllerError,
45
45
  mapModelToClaudeModel,
46
46
  parseAuthorizationCodeInput,
47
+ recordExtendedContextRateLimited,
47
48
  recordExtendedContextUnavailable,
48
49
  resolveClaudeExecutableAsync,
49
50
  resolvePassthrough,
50
51
  resolveSdkModelDefaults,
51
52
  stripExtendedContext,
52
53
  subscriptionIncludesExtendedContext
53
- } from "./cli-d45dq9gf.js";
54
+ } from "./cli-xfbhn15a.js";
54
55
  import {
55
56
  getSetting,
56
57
  setSetting
@@ -19358,12 +19359,15 @@ function stripConfigDir(env2) {
19358
19359
  delete out.CLAUDE_CONFIG_DIR;
19359
19360
  return out;
19360
19361
  }
19361
- function computePassthroughMaxTurns(hasDeferredTools, advisorModel) {
19362
+ function computePassthroughMaxTurns(hasDeferredTools, advisorModel, singleTurnHandoff) {
19362
19363
  const deferredBump = hasDeferredTools ? 1 : 0;
19363
19364
  const defaultBase = 3 + deferredBump;
19364
19365
  const configured = envInt("PASSTHROUGH_MAX_TURNS", defaultBase);
19365
- const base = configured > 0 ? configured : defaultBase;
19366
+ const operatorPinned = env("PASSTHROUGH_MAX_TURNS") !== undefined && configured > 0;
19366
19367
  const advisorBump = advisorModel ? 3 : 0;
19368
+ if (singleTurnHandoff && !operatorPinned)
19369
+ return 1;
19370
+ const base = configured > 0 ? configured : defaultBase;
19367
19371
  return base + advisorBump;
19368
19372
  }
19369
19373
  function buildCwdNote(sdkCwd, clientCwd) {
@@ -19445,7 +19449,7 @@ function buildQueryOptions(ctx, abortController) {
19445
19449
  prompt,
19446
19450
  options: {
19447
19451
  executable: "node",
19448
- maxTurns: passthrough ? computePassthroughMaxTurns(hasDeferredTools, ctx.advisorModel) : 200,
19452
+ maxTurns: passthrough ? computePassthroughMaxTurns(hasDeferredTools, ctx.advisorModel, ctx.earlyStop !== false && !hasDeferredTools && !ctx.advisorModel && !outputFormat) : 200,
19449
19453
  cwd: workingDirectory,
19450
19454
  model,
19451
19455
  pathToClaudeCodeExecutable: claudeExecutable,
@@ -20999,8 +21003,8 @@ function createProxyServer(config = {}) {
20999
21003
  proxyLogSilent = finalConfig.silent;
21000
21004
  const serverVersion = finalConfig.version ?? "unknown";
21001
21005
  restoreActiveProfile(finalConfig.profiles);
21002
- const sessionDiscoveredTools = new Map;
21003
- const sessionToolCache = new Map;
21006
+ const sessionDiscoveredTools = new LRUMap(getMaxSessionsLimit());
21007
+ const sessionToolCache = new LRUMap(getMaxSessionsLimit());
21004
21008
  const sessionMcpCache = new LRUMap(getMaxSessionsLimit());
21005
21009
  const RESUME_REFUSAL_MAX_RETRIES = 3;
21006
21010
  const RESUME_REFUSAL_RETRY_DELAY_MS = parseInt(process.env.MERIDIAN_BUSY_RETRY_DELAY_MS ?? "500", 10);
@@ -21305,7 +21309,7 @@ data: ${JSON.stringify(lastError)}
21305
21309
  const isSubagentRequest = declaredAgentMode === "subagent" || requestSource?.startsWith("subagent-") === true;
21306
21310
  const agentMode = isSubagentRequest ? "subagent" : declaredAgentMode;
21307
21311
  const requestedModel = typeof body.model === "string" ? body.model : "sonnet";
21308
- let model = mapModelToClaudeModel(requestedModel, authStatus?.subscriptionType, agentMode);
21312
+ let model = mapModelToClaudeModel(requestedModel, authStatus?.subscriptionType, agentMode, profile.id);
21309
21313
  const envOverrides = explicitModelPin(requestedModel);
21310
21314
  const cwdResolution = resolveSdkWorkingDirectory({
21311
21315
  envOverride: process.env.MERIDIAN_WORKDIR ?? process.env.CLAUDE_PROXY_WORKDIR,
@@ -21828,6 +21832,7 @@ data: ${JSON.stringify(lastError)}
21828
21832
  cleanEnv: profileEnv,
21829
21833
  envOverrides,
21830
21834
  hasDeferredTools,
21835
+ earlyStop: earlyStopEnabled,
21831
21836
  resumeSessionId,
21832
21837
  isUndo,
21833
21838
  resumeSessionAtUuid: undoRollbackUuid ?? passthroughToolCallAssistantUuid,
@@ -21916,6 +21921,7 @@ data: ${JSON.stringify(lastError)}
21916
21921
  cleanEnv: profileEnv,
21917
21922
  envOverrides,
21918
21923
  hasDeferredTools,
21924
+ earlyStop: earlyStopEnabled,
21919
21925
  resumeSessionId: undefined,
21920
21926
  isUndo: false,
21921
21927
  resumeSessionAtUuid: undefined,
@@ -21949,7 +21955,7 @@ data: ${JSON.stringify(lastError)}
21949
21955
  if (isExtraUsageRequiredError(errMsg) && hasExtendedContext(model)) {
21950
21956
  const from = model;
21951
21957
  model = stripExtendedContext(model);
21952
- recordExtendedContextUnavailable();
21958
+ recordExtendedContextUnavailable(profile.id);
21953
21959
  claudeLog("upstream.context_fallback", {
21954
21960
  mode: "non_stream",
21955
21961
  from,
@@ -21985,6 +21991,7 @@ data: ${JSON.stringify(lastError)}
21985
21991
  cleanEnv: profileEnv,
21986
21992
  envOverrides,
21987
21993
  hasDeferredTools,
21994
+ earlyStop: earlyStopEnabled,
21988
21995
  resumeSessionId: undefined,
21989
21996
  isUndo: false,
21990
21997
  resumeSessionAtUuid: undefined,
@@ -22028,6 +22035,7 @@ data: ${JSON.stringify(lastError)}
22028
22035
  if (hasExtendedContext(model)) {
22029
22036
  const from = model;
22030
22037
  model = stripExtendedContext(model);
22038
+ recordExtendedContextRateLimited(profile.id, priorityCooldownUntil(profile.id, Date.now()));
22031
22039
  claudeLog("upstream.context_fallback", {
22032
22040
  mode: "non_stream",
22033
22041
  from,
@@ -22201,6 +22209,17 @@ Subprocess stderr: ${stderrOutput}`;
22201
22209
  reason: sdkTerm.reason,
22202
22210
  captured: capturedToolUses.length
22203
22211
  });
22212
+ if (lastUsage)
22213
+ logUsage(requestMeta.requestId, lastUsage);
22214
+ } else if (passthrough && sdkTerm.reason === "max_turns" && contentBlocks.length > 0) {
22215
+ lastStopReason = "max_tokens";
22216
+ claudeLog("passthrough.capped_turn_truncated", {
22217
+ mode: "non_stream",
22218
+ blocks: contentBlocks.length
22219
+ });
22220
+ plog(`[PROXY] ${requestMeta.requestId} capped turn produced no forwardable tool call — reporting as truncated`);
22221
+ if (lastUsage)
22222
+ logUsage(requestMeta.requestId, lastUsage);
22204
22223
  } else {
22205
22224
  claudeLog("upstream.failed", {
22206
22225
  mode: "non_stream",
@@ -22481,6 +22500,7 @@ data: ${JSON.stringify({ type: "content_block_stop", index: idx })}
22481
22500
  cleanEnv: profileEnv,
22482
22501
  envOverrides,
22483
22502
  hasDeferredTools,
22503
+ earlyStop: earlyStopEnabled,
22484
22504
  resumeSessionId,
22485
22505
  isUndo,
22486
22506
  resumeSessionAtUuid: undoRollbackUuid ?? passthroughToolCallAssistantUuid,
@@ -22568,6 +22588,7 @@ data: ${JSON.stringify({ type: "content_block_stop", index: idx })}
22568
22588
  cleanEnv: profileEnv,
22569
22589
  envOverrides,
22570
22590
  hasDeferredTools,
22591
+ earlyStop: earlyStopEnabled,
22571
22592
  resumeSessionId: undefined,
22572
22593
  isUndo: false,
22573
22594
  resumeSessionAtUuid: undefined,
@@ -22601,7 +22622,7 @@ data: ${JSON.stringify({ type: "content_block_stop", index: idx })}
22601
22622
  if (isExtraUsageRequiredError(errMsg) && hasExtendedContext(model)) {
22602
22623
  const from = model;
22603
22624
  model = stripExtendedContext(model);
22604
- recordExtendedContextUnavailable();
22625
+ recordExtendedContextUnavailable(profile.id);
22605
22626
  claudeLog("upstream.context_fallback", {
22606
22627
  mode: "stream",
22607
22628
  from,
@@ -22637,6 +22658,7 @@ data: ${JSON.stringify({ type: "content_block_stop", index: idx })}
22637
22658
  cleanEnv: profileEnv,
22638
22659
  envOverrides,
22639
22660
  hasDeferredTools,
22661
+ earlyStop: earlyStopEnabled,
22640
22662
  resumeSessionId: undefined,
22641
22663
  isUndo: false,
22642
22664
  resumeSessionAtUuid: undefined,
@@ -22680,6 +22702,7 @@ data: ${JSON.stringify({ type: "content_block_stop", index: idx })}
22680
22702
  if (hasExtendedContext(model)) {
22681
22703
  const from = model;
22682
22704
  model = stripExtendedContext(model);
22705
+ recordExtendedContextRateLimited(profile.id, priorityCooldownUntil(profile.id, Date.now()));
22683
22706
  claudeLog("upstream.context_fallback", {
22684
22707
  mode: "stream",
22685
22708
  from,
@@ -23125,6 +23148,7 @@ data: ${JSON.stringify({
23125
23148
  cleanEnv: profileEnv,
23126
23149
  envOverrides,
23127
23150
  hasDeferredTools,
23151
+ earlyStop: earlyStopEnabled,
23128
23152
  resumeSessionId: currentSessionId || resumeSessionId,
23129
23153
  isUndo: false,
23130
23154
  resumeSessionAtUuid: nextPassthroughToolCallAssistantUuid,
@@ -23383,10 +23407,6 @@ data: {"type":"message_stop"}
23383
23407
  claudeLog("passthrough.client_abort_settled", { action: disposition.action });
23384
23408
  return;
23385
23409
  }
23386
- if (passthrough && streamedToolUseIds.size > 0 && !sawCanonicalResult) {
23387
- evictSession(profileSessionId, profileScopedCwd, body.messages || []);
23388
- claudeLog("passthrough.noncanonical_session_evicted", { mode: "stream", reason: "drain_error" });
23389
- }
23390
23410
  const stderrOutput = stderrLines.join(`
23391
23411
  `).trim();
23392
23412
  if (stderrOutput && error instanceof Error && !error.message.includes(stderrOutput)) {
@@ -23416,6 +23436,11 @@ Subprocess stderr: ${stderrOutput}`;
23416
23436
  capturedToolUses: capturedToolUses.length,
23417
23437
  abortIsOurs: sawDuplicateToolUse
23418
23438
  }) && messageStartEmitted;
23439
+ const recoverableCheckpoint = canRecoverAsToolUse && sdkTerm.reason === "max_turns" && Boolean(currentSessionId) && Boolean(nextPassthroughToolCallAssistantUuid) && Boolean(nextPassthroughToolCallIds?.length) && earlyStopFired && !isIndependentSession && !sawDuplicateToolUse;
23440
+ if (passthrough && streamedToolUseIds.size > 0 && !sawCanonicalResult && !recoverableCheckpoint) {
23441
+ evictSession(profileSessionId, profileScopedCwd, body.messages || []);
23442
+ claudeLog("passthrough.noncanonical_session_evicted", { mode: "stream", reason: "drain_error" });
23443
+ }
23419
23444
  if (canRecoverAsToolUse) {
23420
23445
  diagnosticLog2.session(`${requestMeta.requestId} sdk_termination_recovered ${formatSdkTermination(sdkTerm, {
23421
23446
  model,
@@ -23467,6 +23492,17 @@ data: {"type":"message_stop"}
23467
23492
 
23468
23493
  `), "recover_message_stop");
23469
23494
  recordEnvelopeViolations(checkUndeliveredToolUses(capturedToolUses, streamedToolUseIds));
23495
+ if (recoverableCheckpoint) {
23496
+ storeSession(profileSessionId, body.messages || [], currentSessionId, profileScopedCwd, sdkUuidMap, lastUsage, nextPassthroughToolCallAssistantUuid, nextPassthroughToolCallIds);
23497
+ commitSessionTurn();
23498
+ claudeLog("passthrough.checkpoint_persisted", {
23499
+ mode: "stream",
23500
+ reason: "single_turn_boundary",
23501
+ toolCalls: nextPassthroughToolCallIds.length
23502
+ });
23503
+ }
23504
+ if (lastUsage)
23505
+ logUsage(requestMeta.requestId, lastUsage);
23470
23506
  const recoverTotalMs = Date.now() - requestStartAt;
23471
23507
  const recoverQueueWaitMs = totalQueueWaitMs(requestMeta);
23472
23508
  telemetryStore2.record({
@@ -23497,6 +23533,11 @@ data: {"type":"message_stop"}
23497
23533
  contentBlocks: eventsForwarded + unseenToolUses.length,
23498
23534
  textEvents: textEventsForwarded,
23499
23535
  error: null,
23536
+ inputTokens: lastUsage?.input_tokens,
23537
+ outputTokens: lastUsage?.output_tokens,
23538
+ cacheReadInputTokens: lastUsage?.cache_read_input_tokens,
23539
+ cacheCreationInputTokens: lastUsage?.cache_creation_input_tokens,
23540
+ cacheHitRate: computeCacheHitRate(lastUsage),
23500
23541
  ...envelopeViolations.length > 0 ? { envelopeViolations: [...envelopeViolations] } : {}
23501
23542
  });
23502
23543
  if (!streamClosed) {
@@ -92,7 +92,7 @@ function supports1mContext(model) {
92
92
  return false;
93
93
  return true;
94
94
  }
95
- function mapModelToClaudeModel(model, subscriptionType, agentMode) {
95
+ function mapModelToClaudeModel(model, subscriptionType, agentMode, profileId) {
96
96
  if (model.includes("haiku"))
97
97
  return "haiku";
98
98
  const use1m = supports1mContext(model);
@@ -105,7 +105,7 @@ function mapModelToClaudeModel(model, subscriptionType, agentMode) {
105
105
  if (fableOverrideRaw && fableOverride !== "fable[1m]") {
106
106
  warnUnrecognizedTierOverride("FABLE_MODEL", fableOverrideRaw, "fable");
107
107
  }
108
- if (use1m && !isSubagent && !isExtendedContextKnownUnavailable())
108
+ if (use1m && !isSubagent && !isExtendedContextKnownUnavailable(profileId))
109
109
  return "fable[1m]";
110
110
  return "fable";
111
111
  }
@@ -117,25 +117,46 @@ function mapModelToClaudeModel(model, subscriptionType, agentMode) {
117
117
  if (opusOverrideRaw && opusOverride !== "opus[1m]") {
118
118
  warnUnrecognizedTierOverride("OPUS_MODEL", opusOverrideRaw, "opus");
119
119
  }
120
- if (use1m && !isSubagent && !isExtendedContextKnownUnavailable())
120
+ if (use1m && !isSubagent && !isExtendedContextKnownUnavailable(profileId))
121
121
  return "opus[1m]";
122
122
  return "opus";
123
123
  }
124
124
  const sonnetOverride = process.env.MERIDIAN_SONNET_MODEL ?? process.env.CLAUDE_PROXY_SONNET_MODEL;
125
125
  if (sonnetOverride === "sonnet[1m]") {
126
- if (!use1m || isSubagent || isExtendedContextKnownUnavailable())
126
+ if (!use1m || isSubagent || isExtendedContextKnownUnavailable(profileId))
127
127
  return "sonnet";
128
128
  return "sonnet[1m]";
129
129
  }
130
130
  return "sonnet";
131
131
  }
132
132
  var EXTRA_USAGE_RETRY_MS = 60 * 60 * 1000;
133
- var extraUsageUnavailableAt = 0;
134
- function recordExtendedContextUnavailable() {
135
- extraUsageUnavailableAt = Date.now();
133
+ var DEFAULT_BENCH_KEY = "__default__";
134
+ var extendedContextBenchedUntil = new Map;
135
+ function benchExtendedContext(profileId, until) {
136
+ if (until <= Date.now())
137
+ return;
138
+ const key = profileId || DEFAULT_BENCH_KEY;
139
+ const existing = extendedContextBenchedUntil.get(key);
140
+ if (existing !== undefined && existing >= until)
141
+ return;
142
+ extendedContextBenchedUntil.set(key, until);
143
+ }
144
+ function recordExtendedContextUnavailable(profileId) {
145
+ benchExtendedContext(profileId, Date.now() + EXTRA_USAGE_RETRY_MS);
146
+ }
147
+ function recordExtendedContextRateLimited(profileId, until) {
148
+ benchExtendedContext(profileId, until);
136
149
  }
137
- function isExtendedContextKnownUnavailable() {
138
- return extraUsageUnavailableAt > 0 && Date.now() - extraUsageUnavailableAt < EXTRA_USAGE_RETRY_MS;
150
+ function isExtendedContextKnownUnavailable(profileId) {
151
+ const key = profileId || DEFAULT_BENCH_KEY;
152
+ const until = extendedContextBenchedUntil.get(key);
153
+ if (until === undefined)
154
+ return false;
155
+ if (until <= Date.now()) {
156
+ extendedContextBenchedUntil.delete(key);
157
+ return false;
158
+ }
159
+ return true;
139
160
  }
140
161
  function stripExtendedContext(model) {
141
162
  if (model === "opus[1m]")
@@ -855,4 +876,4 @@ Examples:
855
876
  meridian profile list # Show all profiles`);
856
877
  }
857
878
 
858
- export { env, envBool, resolvePassthrough, envInt, init_env, CANONICAL_SONNET_MODEL, resolveSdkModelDefaults, explicitModelPin, mapModelToClaudeModel, recordExtendedContextUnavailable, stripExtendedContext, hasExtendedContext, subscriptionIncludesExtendedContext, getAuthCacheInfo, getClaudeAuthStatusAsync, getResolvedClaudeExecutableInfo, resolveClaudeExecutableAsync, isClosedControllerError, OAUTH_TOKEN_URL, OAUTH_CLIENT_ID, OAUTH_REDIRECT_URI, buildAuthLoginEnv, createManualOAuthSession, parseAuthorizationCodeInput, profileAdd, profileAddOauthToken, profileList, dirsToRemoveOnProfileRemove, profileRemove, profileSwitch, profileLogin, profileHelp };
879
+ export { env, envBool, resolvePassthrough, envInt, init_env, CANONICAL_SONNET_MODEL, resolveSdkModelDefaults, explicitModelPin, mapModelToClaudeModel, recordExtendedContextUnavailable, recordExtendedContextRateLimited, stripExtendedContext, hasExtendedContext, subscriptionIncludesExtendedContext, getAuthCacheInfo, getClaudeAuthStatusAsync, getResolvedClaudeExecutableInfo, resolveClaudeExecutableAsync, isClosedControllerError, OAUTH_TOKEN_URL, OAUTH_CLIENT_ID, OAUTH_REDIRECT_URI, buildAuthLoginEnv, createManualOAuthSession, parseAuthorizationCodeInput, profileAdd, profileAddOauthToken, profileList, dirsToRemoveOnProfileRemove, profileRemove, profileSwitch, profileLogin, profileHelp };
package/dist/cli.js CHANGED
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  startProxyServer
4
- } from "./cli-wxk8xvd3.js";
4
+ } from "./cli-21w6xm0d.js";
5
5
  import"./cli-m0p2bc8v.js";
6
6
  import"./cli-sry5aqdj.js";
7
7
  import"./cli-xmweegb1.js";
8
8
  import {
9
9
  resolveClaudeExecutableAsync
10
- } from "./cli-d45dq9gf.js";
10
+ } from "./cli-xfbhn15a.js";
11
11
  import"./cli-vj9cv18n.js";
12
12
  import"./cli-pc0mtjjv.js";
13
13
  import"./cli-khhjyk04.js";
@@ -55,7 +55,7 @@ See https://github.com/rynfar/meridian for full documentation.`);
55
55
  process.exit(0);
56
56
  }
57
57
  if (args[0] === "profile") {
58
- const { profileAdd, profileAddOauthToken, profileList, profileRemove, profileSwitch, profileLogin, profileHelp } = await import("./profileCli-7f6yhakj.js");
58
+ const { profileAdd, profileAddOauthToken, profileList, profileRemove, profileSwitch, profileLogin, profileHelp } = await import("./profileCli-39vshwdn.js");
59
59
  const subcommand = args[1];
60
60
  const profileId = args[2];
61
61
  const headless = args.includes("--headless");
@@ -13,7 +13,7 @@ import {
13
13
  profileLogin,
14
14
  profileRemove,
15
15
  profileSwitch
16
- } from "./cli-d45dq9gf.js";
16
+ } from "./cli-xfbhn15a.js";
17
17
  import"./cli-vj9cv18n.js";
18
18
  import"./cli-khhjyk04.js";
19
19
  import"./cli-p9swy5t3.js";
@@ -54,7 +54,7 @@ export interface ClaudeAuthStatus {
54
54
  }
55
55
  /** Clear the per-variable warn-once tracking — for testing only. */
56
56
  export declare function resetWarnedTierOverrides(): void;
57
- export declare function mapModelToClaudeModel(model: string, subscriptionType?: string | null, agentMode?: string | null): ClaudeModel;
57
+ export declare function mapModelToClaudeModel(model: string, subscriptionType?: string | null, agentMode?: string | null, profileId?: string): ClaudeModel;
58
58
  /**
59
59
  * Record that Extra Usage is not enabled on this subscription.
60
60
  * For the next hour, mapModelToClaudeModel will return the base model
@@ -62,15 +62,26 @@ export declare function mapModelToClaudeModel(model: string, subscriptionType?:
62
62
  * the next request probes [1m] once; if Extra Usage was enabled in the
63
63
  * meantime it succeeds and the flag is never set again.
64
64
  */
65
- export declare function recordExtendedContextUnavailable(): void;
65
+ export declare function recordExtendedContextUnavailable(profileId?: string): void;
66
66
  /**
67
- * Returns true while within the cooldown window after a confirmed
68
- * Extra Usage failure. After the window expires this returns false,
69
- * allowing one probe to check whether Extra Usage has been enabled.
70
- */
71
- export declare function isExtendedContextKnownUnavailable(): boolean;
72
- /** Reset the Extended Context unavailability timer for testing only. */
73
- export declare function resetExtendedContextUnavailable(): void;
67
+ * Record that a [1m] request was rate-limited, benching it until `until`.
68
+ *
69
+ * Callers derive `until` from the account's own observed reset rather than a
70
+ * constant. Stripping [1m] on a rate limit while recording nothing is what
71
+ * makes the next request map straight back to [1m]: the conversation then
72
+ * flaps between two models and pays a cold prompt cache in BOTH directions,
73
+ * which routinely costs more than the rate limit it was routing around (#862).
74
+ */
75
+ export declare function recordExtendedContextRateLimited(profileId: string | undefined, until: number): void;
76
+ /**
77
+ * Returns true while this profile's [1m] access is benched. Expired marks are
78
+ * dropped on read, so the next request probes [1m] once — and if the window
79
+ * has genuinely reset, it simply succeeds.
80
+ */
81
+ export declare function isExtendedContextKnownUnavailable(profileId?: string): boolean;
82
+ /** Clear extended-context benches — for testing only. Clears every profile
83
+ * when no id is given. */
84
+ export declare function resetExtendedContextUnavailable(profileId?: string): void;
74
85
  /**
75
86
  * Strip the [1m] suffix from a model, returning the base variant.
76
87
  * Used for fallback when the 1M context window is rate-limited.
@@ -1 +1 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/proxy/models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/proxy/models.ts"],"names":[],"mappings":"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"}
@@ -13,9 +13,18 @@
13
13
  * checkpoint, but they are NOT a durability acknowledgement: a live PTY E2E
14
14
  * observed the assistant and deny in the iterator while neither existed in the
15
15
  * session JSONL after an immediate abort. The proxy therefore freezes the
16
- * assistant UUID/tool IDs at deny settlement, drains the hidden digest without
17
- * forwarding it, and stores the checkpoint only after the SDK's canonical
18
- * terminal result commits the transcript.
16
+ * assistant UUID/tool IDs at deny settlement and stores the checkpoint only
17
+ * after the SDK's canonical terminal result commits the transcript.
18
+ *
19
+ * What stops the digest turn is the maxTurns cap in query.ts, not this module:
20
+ * capped at 1, the SDK reaches the tool-use boundary and then declines to start
21
+ * another turn, so the digest never generates AND the terminal result still
22
+ * arrives (as `error_max_turns`) to commit the transcript. That is the
23
+ * combination an immediate abort could not give — it skipped the commit.
24
+ *
25
+ * This module still drains rather than aborts, because the cap is lifted for
26
+ * deferred tools, advisors, structured output, and the kill switch. In those
27
+ * configurations the digest turn does generate and is discarded here.
19
28
  *
20
29
  * Pure module — no I/O, no imports from server.ts or session/.
21
30
  */
@@ -1 +1 @@
1
- {"version":3,"file":"passthroughEarlyStop.d.ts","sourceRoot":"","sources":["../../src/proxy/passthroughEarlyStop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAUH,MAAM,WAAW,gBAAgB;IAC/B,gFAAgF;IAChF,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACrB,6EAA6E;IAC7E,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACrB;yEACqE;IACrE,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,0EAA0E;IAC1E,KAAK,EAAE,OAAO,CAAA;CACf;AAED,wBAAgB,sBAAsB,IAAI,gBAAgB,CAEzD;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAQhE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAOtF;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAatF;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAQjF;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAM5E;AAED;;;;GAIG;AACH,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,KAAK,CAAC;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,EACtD,WAAW,EAAE,SAAS,MAAM,EAAE,GAC7B,OAAO,CAuCT;AAED,8EAA8E;AAC9E,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAE1F;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAMlE;AAED,qEAAqE;AACrE,MAAM,MAAM,sBAAsB,GAC9B;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GACnB;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAEtB;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,oBAAoB,EAAE,OAAO,CAAA;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,oEAAoE;IACpE,WAAW,EAAE,OAAO,CAAA;CACrB,GAAG,sBAAsB,CAMzB"}
1
+ {"version":3,"file":"passthroughEarlyStop.d.ts","sourceRoot":"","sources":["../../src/proxy/passthroughEarlyStop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAUH,MAAM,WAAW,gBAAgB;IAC/B,gFAAgF;IAChF,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACrB,6EAA6E;IAC7E,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACrB;yEACqE;IACrE,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,0EAA0E;IAC1E,KAAK,EAAE,OAAO,CAAA;CACf;AAED,wBAAgB,sBAAsB,IAAI,gBAAgB,CAEzD;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAQhE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAOtF;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAatF;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAQjF;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAM5E;AAED;;;;GAIG;AACH,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,KAAK,CAAC;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,EACtD,WAAW,EAAE,SAAS,MAAM,EAAE,GAC7B,OAAO,CAuCT;AAED,8EAA8E;AAC9E,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAE1F;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAMlE;AAED,qEAAqE;AACrE,MAAM,MAAM,sBAAsB,GAC9B;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GACnB;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAEtB;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,oBAAoB,EAAE,OAAO,CAAA;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,oEAAoE;IACpE,WAAW,EAAE,OAAO,CAAA;CACrB,GAAG,sBAAsB,CAMzB"}
@@ -39,6 +39,14 @@ export interface QueryContext {
39
39
  envOverrides?: Record<string, string | undefined>;
40
40
  /** Whether any passthrough tools use deferred loading */
41
41
  hasDeferredTools: boolean;
42
+ /**
43
+ * Whether passthrough early stop is active (MERIDIAN_PASSTHROUGH_EARLY_STOP
44
+ * != "0"). Gates the single-turn maxTurns cap: the cap is only safe when the
45
+ * checkpoint machinery is running to capture and store the tool boundary.
46
+ * Defaults to on — omitting it must not silently reintroduce the billed
47
+ * digest turn.
48
+ */
49
+ earlyStop?: boolean;
42
50
  /** SDK session ID for resume (if continuing a session) */
43
51
  resumeSessionId?: string;
44
52
  /** Whether this is an undo operation */
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/proxy/query.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAW,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAEnG,OAAO,EAAE,0BAA0B,EAAwB,MAAM,oBAAoB,CAAA;AAErF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AA6CtC,MAAM,WAAW,YAAY;IAC3B,iEAAiE;IACjE,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;IACnC,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,uEAAuE;IACvE,gBAAgB,EAAE,MAAM,CAAA;IACxB;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,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,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;IACjD,yDAAyD;IACzD,gBAAgB,EAAE,OAAO,CAAA;IACzB,0DAA0D;IAC1D,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,wCAAwC;IACxC,MAAM,EAAE,OAAO,CAAA;IACf;;mFAE+E;IAC/E,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B;;2CAEuC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,GAAG,CAAA;IACd,iDAAiD;IACjD,YAAY,EAAE,SAAS,MAAM,EAAE,CAAA;IAC/B,+CAA+C;IAC/C,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAA;IACpC,uCAAuC;IACvC,aAAa,EAAE,MAAM,CAAA;IACrB,wCAAwC;IACxC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAA;IAClC,kEAAkE;IAClE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,0EAA0E;IAC1E,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,CAAA;IACnG,8EAA8E;IAC9E,UAAU,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC9B,kEAAkE;IAClE,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,yEAAyE;IACzE,cAAc,CAAC,EAAE,aAAa,EAAE,CAAA;IAChC,+CAA+C;IAC/C,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,+CAA+C;IAC/C,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,wDAAwD;IACxD,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,0DAA0D;IAC1D,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,2EAA2E;IAC3E,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,kCAAkC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,wCAAwC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,+CAA+C;IAC/C,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAA;IAChC,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAA;IAC9B,OAAO,EAAE,OAAO,CAAA;CACjB;AA2CD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAkBvE;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,0BAA0B,QAWnB,CAAA;AAiCpB,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,YAAY,EAAE,eAAe,CAAC,EAAE,eAAe,GAAG,gBAAgB,CAoJxG"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/proxy/query.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/proxy/server.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACtE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,CAAA;AAGvD,YAAY,EACV,SAAS,EACT,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,WAAW,GACZ,MAAM,aAAa,CAAA;AAKpB,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAoDnG,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,oBAAoB,EAGpB,KAAK,aAAa,EAGnB,MAAM,mBAAmB,CAAA;AAI1B,OAAO,EAA+B,iBAAiB,EAAE,mBAAmB,EAAsC,MAAM,iBAAiB,CAAA;AAIzI,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAA;AAChE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,CAAA;AACjD,YAAY,EAAE,aAAa,EAAE,CAAA;AA0W7B,wBAAgB,iBAAiB,CAAC,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM,GAAG,WAAW,CA0+JhF;AAWD,wBAAgB,gCAAgC,IAAI,IAAI,CAavD;AAED,wBAAsB,gBAAgB,CAAC,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAqHhG"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/proxy/server.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACtE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,CAAA;AAGvD,YAAY,EACV,SAAS,EACT,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,WAAW,GACZ,MAAM,aAAa,CAAA;AAKpB,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAoDnG,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,oBAAoB,EAGpB,KAAK,aAAa,EAGnB,MAAM,mBAAmB,CAAA;AAI1B,OAAO,EAA+B,iBAAiB,EAAE,mBAAmB,EAAsC,MAAM,iBAAiB,CAAA;AAIzI,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAA;AAChE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,CAAA;AACjD,YAAY,EAAE,aAAa,EAAE,CAAA;AA0W7B,wBAAgB,iBAAiB,CAAC,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM,GAAG,WAAW,CAylKhF;AAWD,wBAAgB,gCAAgC,IAAI,IAAI,CAavD;AAED,wBAAsB,gBAAgB,CAAC,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAqHhG"}
package/dist/server.js CHANGED
@@ -11,11 +11,11 @@ import {
11
11
  runObserveHook,
12
12
  runTransformHook,
13
13
  startProxyServer
14
- } from "./cli-wxk8xvd3.js";
14
+ } from "./cli-21w6xm0d.js";
15
15
  import"./cli-m0p2bc8v.js";
16
16
  import"./cli-sry5aqdj.js";
17
17
  import"./cli-xmweegb1.js";
18
- import"./cli-d45dq9gf.js";
18
+ import"./cli-xfbhn15a.js";
19
19
  import"./cli-vj9cv18n.js";
20
20
  import"./cli-pc0mtjjv.js";
21
21
  import"./cli-khhjyk04.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rynfar/meridian",
3
- "version": "1.62.6",
3
+ "version": "1.62.7",
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",