@mrrlin-dev/mcp 0.3.7 → 0.3.8

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 +38 -5
  2. package/package.json +4 -4
package/dist/bin.cjs CHANGED
@@ -20724,14 +20724,28 @@ async function installBrowser(opts = {}) {
20724
20724
  }
20725
20725
 
20726
20726
  // src/install-codex.ts
20727
+ function deriveServeEnvFromProcessEnv(env) {
20728
+ const out = {};
20729
+ const apiUrl = env.MRRLIN_API_BASE_URL?.trim();
20730
+ if (apiUrl) {
20731
+ out.MRRLIN_API_BASE_URL = apiUrl;
20732
+ if (env.MRRLIN_API_ALLOW_REMOTE === "1") out.MRRLIN_API_ALLOW_REMOTE = "1";
20733
+ } else if (env.MRRLIN_STAGING === "1") {
20734
+ out.MRRLIN_STAGING = "1";
20735
+ }
20736
+ return Object.keys(out).length > 0 ? out : void 0;
20737
+ }
20727
20738
  function resolveCodexHome(options) {
20728
20739
  if (options.codexHome) return options.codexHome;
20729
20740
  if (process.env.CODEX_HOME) return process.env.CODEX_HOME;
20730
20741
  return import_node_path2.default.join(options.homeDir ?? import_node_os2.default.homedir(), ".codex");
20731
20742
  }
20732
- function mrrlinTable(binPath, distribution) {
20733
- if (distribution === "npm") return { command: "mrrlin-mcp", args: ["serve"], startup_timeout_sec: 30 };
20734
- return { command: "node", args: [binPath, "serve"], startup_timeout_sec: 30 };
20743
+ function mrrlinTable(binPath, distribution, serveEnv) {
20744
+ const base = distribution === "npm" ? { command: "mrrlin-mcp", args: ["serve"] } : { command: "node", args: [binPath, "serve"] };
20745
+ if (serveEnv && Object.keys(serveEnv).length > 0) {
20746
+ return { ...base, startup_timeout_sec: 30, env: serveEnv };
20747
+ }
20748
+ return { ...base, startup_timeout_sec: 30 };
20735
20749
  }
20736
20750
  function browserTable(binPath, distribution, homeDir) {
20737
20751
  const base = distribution === "npm" ? { command: "mrrlin-mcp", args: ["browser-serve"] } : { command: "node", args: [binPath, "browser-serve"] };
@@ -20744,7 +20758,11 @@ function blockRegex(id) {
20744
20758
  function managedBlocks(options, distribution) {
20745
20759
  const homeDir = options.homeDir ?? import_node_os2.default.homedir();
20746
20760
  return [
20747
- { id: "mrrlin", expected: mrrlinTable(options.binPath, distribution), blockRe: blockRegex("mrrlin") },
20761
+ {
20762
+ id: "mrrlin",
20763
+ expected: mrrlinTable(options.binPath, distribution, options.serveEnv),
20764
+ blockRe: blockRegex("mrrlin")
20765
+ },
20748
20766
  {
20749
20767
  id: "mrrlin-browser",
20750
20768
  expected: browserTable(options.binPath, distribution, homeDir),
@@ -38489,7 +38507,7 @@ Do NOT derail the current task \u2014 if the operator has an in-flight question,
38489
38507
  }
38490
38508
 
38491
38509
  // src/_generated/version.ts
38492
- var PKG_VERSION = "0.3.7";
38510
+ var PKG_VERSION = "0.3.8";
38493
38511
 
38494
38512
  // src/api-base-url.ts
38495
38513
  var DEFAULT_API_BASE_URL = "http://127.0.0.1:8787";
@@ -52464,6 +52482,19 @@ Usage:
52464
52482
  checkouts register the local dist/bin.cjs;
52465
52483
  published npm installs register
52466
52484
  \`mrrlin-mcp serve\`.
52485
+ Bakes API-target env vars into the block as an
52486
+ inline env table so \`serve\` boots even when the
52487
+ local 127.0.0.1:8787 is not running. Setup guide:
52488
+ MRRLIN_STAGING=1 mrrlin-mcp install-codex
52489
+ is the canonical path (staging alias + remote-
52490
+ allow gate in one flag). For a non-staging remote,
52491
+ pass BOTH the URL AND the allow gate:
52492
+ MRRLIN_API_BASE_URL=https://... \\
52493
+ MRRLIN_API_ALLOW_REMOTE=1 mrrlin-mcp install-codex
52494
+ Without an allow gate, \`serve\` still refuses any
52495
+ non-loopback URL (see \`mrrlin-mcp serve\` above).
52496
+ URL and MRRLIN_STAGING are mutually exclusive at
52497
+ bake time \u2014 URL wins, mirrors serve's resolver.
52467
52498
  --force replaces an existing conflicting block.
52468
52499
  --force-prompts overwrites prompt files that
52469
52500
  already exist with different content. WITHOUT it,
@@ -52616,10 +52647,12 @@ async function main() {
52616
52647
  );
52617
52648
  process.exit(2);
52618
52649
  }
52650
+ const serveEnv = deriveServeEnvFromProcessEnv(process.env);
52619
52651
  const result = await installCodex({
52620
52652
  binPath,
52621
52653
  force,
52622
52654
  forcePrompts,
52655
+ serveEnv,
52623
52656
  prompts: [{ name: "report-issue", content: readReportIssuePrompt() }]
52624
52657
  });
52625
52658
  process.stderr.write(`[mrrlin-mcp install-codex] ${result.action} ${result.configPath}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mrrlin-dev/mcp",
3
- "version": "0.3.7",
3
+ "version": "0.3.8",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "mrrlin-mcp": "dist/bin.cjs"
@@ -23,11 +23,11 @@
23
23
  "esbuild": "^0.24.0",
24
24
  "tsx": "^4.22.3",
25
25
  "@mrrlin/client": "0.0.0",
26
- "@mrrlin/wiki": "0.0.0",
26
+ "@mrrlin/director-e2e": "0.0.0",
27
27
  "@mrrlin/schemas": "0.0.0",
28
28
  "@mrrlin/tsconfig": "0.0.0",
29
- "@mrrlin/director-e2e": "0.0.0",
30
- "@mrrlin/codex-client": "0.0.0"
29
+ "@mrrlin/codex-client": "0.0.0",
30
+ "@mrrlin/wiki": "0.0.0"
31
31
  },
32
32
  "dependencies": {
33
33
  "@iarna/toml": "^2.2.5",