@mrrlin-dev/mcp 0.4.46 → 0.4.47

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.
Files changed (2) hide show
  1. package/dist/bin.cjs +36 -24
  2. package/package.json +3 -3
package/dist/bin.cjs CHANGED
@@ -42308,7 +42308,7 @@ Do NOT derail the current task - if the operator has an in-flight question, answ
42308
42308
  }
42309
42309
 
42310
42310
  // src/_generated/version.ts
42311
- var PKG_VERSION = "0.4.46";
42311
+ var PKG_VERSION = "0.4.47";
42312
42312
 
42313
42313
  // src/api-base-url-migrate.ts
42314
42314
  var import_node_fs3 = __toESM(require("node:fs"), 1);
@@ -55931,6 +55931,7 @@ function describeZeroOutputLimit(signal) {
55931
55931
  resetAt: signal.resetAt
55932
55932
  };
55933
55933
  }
55934
+ var BOOTSTRAP_SEAT_REFRESH_TIMEOUT_MS = 3e3;
55934
55935
  function createBridgeMessageHandler(deps) {
55935
55936
  const tombstones = deps.tombstones ?? /* @__PURE__ */ new Map();
55936
55937
  const pendingTurnSessions = deps.pendingTurnSessions ?? /* @__PURE__ */ new Set();
@@ -56403,6 +56404,14 @@ function createBridgeMessageHandler(deps) {
56403
56404
  let bootstrapError;
56404
56405
  const fallbackModels = readCodexFallbackModels();
56405
56406
  try {
56407
+ if (deps.refreshSelectedProvider) {
56408
+ await withTimeout2(
56409
+ deps.refreshSelectedProvider(),
56410
+ deps.seatRefreshTimeoutMs ?? BOOTSTRAP_SEAT_REFRESH_TIMEOUT_MS,
56411
+ "seat refresh timed out"
56412
+ ).catch(() => {
56413
+ });
56414
+ }
56406
56415
  const bootstrapProviderId = resolveProvider(process.env, getSelectedProvider()).id;
56407
56416
  const codexClient2 = await deps.acquireCodex(bootstrapProviderId);
56408
56417
  try {
@@ -57097,20 +57106,18 @@ function checkTelemetryDefaultProject(env, warn) {
57097
57106
  }
57098
57107
  function createSelectedProviderRefresher(deps) {
57099
57108
  let lastError = null;
57100
- return () => {
57101
- deps.read().then((config2) => {
57102
- lastError = null;
57103
- deps.apply(config2.agentProvider);
57104
- }).catch((error51) => {
57105
- const message = error51 instanceof Error ? error51.message : String(error51);
57106
- if (message !== lastError) {
57107
- lastError = message;
57108
- deps.warn(
57109
- `[mrrlin-mcp director-bridge] agent-provider refresh failed; keeping the held seat: ${message}`
57110
- );
57111
- }
57112
- });
57113
- };
57109
+ return () => deps.read().then((config2) => {
57110
+ lastError = null;
57111
+ deps.apply(config2.agentProvider);
57112
+ }).catch((error51) => {
57113
+ const message = error51 instanceof Error ? error51.message : String(error51);
57114
+ if (message !== lastError) {
57115
+ lastError = message;
57116
+ deps.warn(
57117
+ `[mrrlin-mcp director-bridge] agent-provider refresh failed; keeping the held seat: ${message}`
57118
+ );
57119
+ }
57120
+ });
57114
57121
  }
57115
57122
  async function startDirectorBridge() {
57116
57123
  const config2 = parseConfig();
@@ -57558,10 +57565,20 @@ async function startDirectorBridge() {
57558
57565
  });
57559
57566
  return block.text;
57560
57567
  };
57568
+ let refreshSelectedProvider = null;
57569
+ if (tokenProvider) {
57570
+ refreshSelectedProvider = createSelectedProviderRefresher({
57571
+ read: () => client.getAgentProviderConfig(),
57572
+ apply: setSelectedProvider,
57573
+ warn: (m) => process.stderr.write(`${m}
57574
+ `)
57575
+ });
57576
+ }
57561
57577
  const sharedHandlerDeps = {
57562
57578
  acquireCodex: (providerId) => agentKeepalive.acquire(providerId),
57563
57579
  releaseCodex: (providerId) => agentKeepalive.release(providerId),
57564
57580
  refreshCodex: () => agentKeepalive.refreshNow(resolveProvider(process.env, getSelectedProvider()).id),
57581
+ ...refreshSelectedProvider ? { refreshSelectedProvider } : {},
57565
57582
  run: wrappedTurnLock.run,
57566
57583
  suspendedMs: () => suspensionDetector.suspendedMs(),
57567
57584
  buildStartParams: (msg, desiredModel) => buildThreadStartParams(msg, config2, desiredModel),
@@ -57888,15 +57905,10 @@ async function startDirectorBridge() {
57888
57905
  );
57889
57906
  }
57890
57907
  let selectedProviderTimer = null;
57891
- if (tokenProvider) {
57892
- const refreshSelectedProvider = createSelectedProviderRefresher({
57893
- read: () => client.getAgentProviderConfig(),
57894
- apply: setSelectedProvider,
57895
- warn: (m) => process.stderr.write(`${m}
57896
- `)
57897
- });
57898
- refreshSelectedProvider();
57899
- selectedProviderTimer = setInterval(refreshSelectedProvider, 6e4);
57908
+ if (refreshSelectedProvider) {
57909
+ const refresh = refreshSelectedProvider;
57910
+ void refresh();
57911
+ selectedProviderTimer = setInterval(() => void refresh(), 6e4);
57900
57912
  selectedProviderTimer.unref?.();
57901
57913
  }
57902
57914
  let agentPoolLoopHandle = null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mrrlin-dev/mcp",
3
- "version": "0.4.46",
3
+ "version": "0.4.47",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "mrrlin-mcp": "dist/bin.cjs"
@@ -21,12 +21,12 @@
21
21
  "@types/ws": "^8.18.1",
22
22
  "esbuild": "^0.24.0",
23
23
  "tsx": "^4.22.3",
24
+ "@mrrlin/client": "0.0.0",
24
25
  "@mrrlin/agent-client": "0.0.0",
25
26
  "@mrrlin/director-e2e": "0.0.0",
26
27
  "@mrrlin/schemas": "0.0.0",
27
28
  "@mrrlin/tsconfig": "0.0.0",
28
- "@mrrlin/wiki": "0.0.0",
29
- "@mrrlin/client": "0.0.0"
29
+ "@mrrlin/wiki": "0.0.0"
30
30
  },
31
31
  "dependencies": {
32
32
  "@iarna/toml": "^2.2.5",