github-router 0.3.121 → 0.3.126

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.
@@ -2,7 +2,7 @@
2
2
  "manifest_version": 3,
3
3
  "name": "github-router browser bridge",
4
4
  "short_name": "gh-router-browser",
5
- "version": "0.3.121",
5
+ "version": "0.3.126",
6
6
  "description": "Bridge between Claude (via github-router /mcp) and the browser. Implements tab control, navigation, clicks, form fill, downloads, screenshots, devtools eval. Blocks navigation to chrome://settings.",
7
7
  "key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqJElxuBlonBS3TVW9FJN0mGTtShB3L1hoaYf6k39SOr1ogGYmF90EjRxy1i21k9wQQjPf26bcBu/9X67KrQjQV0uB38CaNukgiSeoLjfptN811u+PJHx6BP+jx3Qa6/3VenNPxHC8WEU0GXql8QSjIHEyCwKb6fMASXOK94JyB5Ywov2x8mt/+9ncqBBBMVzf6r5Sagy4PL1XnryLsuADD/vOEkPet8wXgH/Oj7v5tTsQQZ7U1JT51PoDs2BFnXc5v3TkVgZwd32k3ONh+nkDw1Hof+4zwUGOyJE6eMrlYzRlKM4Qxdf9JpavQvqfieAbTRWcyKeclnHeoIfE7cDBQIDAQAB",
8
8
  "background": {
@@ -1,4 +1,4 @@
1
- import { A as IMPLEMENT_DEFAULT_MODEL, M as appendPlanReminder, N as runWorkerAgent, O as BROWSE_DEFAULT_MODEL, P as withNoOutputRetry, j as PLAN_DEFAULT_MODEL, k as DEFAULT_MODEL } from "./peer-mcp-personas-CoeEliOe.js";
1
+ import { A as IMPLEMENT_DEFAULT_MODEL, M as appendPlanReminder, N as runWorkerAgent, O as BROWSE_DEFAULT_MODEL, P as withNoOutputRetry, j as PLAN_DEFAULT_MODEL, k as DEFAULT_MODEL } from "./peer-mcp-personas-Be4SAgm0.js";
2
2
  import "./paths-CNgpeaWd.js";
3
3
  import "./lifecycle-DTJ2Ugqf.js";
4
4
  import "./lifecycle-Cyxwmj1c.js";
package/dist/main.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { $ as handleMcpDelete, At as setupGitHubToken, B as TOOLBELT_TOOLS, Bt as getModels, C as stopGateEnabledForRepo, Ct as UPSTREAM_FETCH_TIMEOUT_MS, D as liveExec, Dt as getPackageVersion, E as resolveSealedGate, Et as pickClaudeDefault, F as availableToolCommands, Ft as filterBetaHeader, G as buildAdvisorStream, Gt as copilotBaseUrl, H as searchWeb, Ht as HTTPError, I as buildToolbeltAwareness, It as isNullish, J as buildOpenAIErrorEvent, Jt as state, K as injectAdvisorTool, Kt as copilotHeaders, L as toolbeltEnabled, Lt as resolveCodexModel, Mt as cacheCopilotVersion, Nt as cacheModels, Ot as withInstallLock, Pt as cacheVSCodeVersion, Q as relayAnthropicStream, R as toolbeltSkipSet, Rt as resolveModel, S as repoRoot, St as DEFAULT_PORT, T as trustRepo, Tt as generateRandomPort, U as ADVISOR_INTERNAL_TOOL_NAME, Ut as forwardError, V as assetFor, Vt as fetchWithTransientRetry, W as ADVISOR_TOOL_INSTRUCTIONS, Wt as GITHUB_API_BASE_URL, X as logStreamError, Y as isControllerClosedError, Z as readIteratorWithTimeout, _ as fileFindingsStore, _t as collapsePathKeys, a as buildPeerAwarenessSnippet, at as createMessages, b as isSubagentContext, bt as DEFAULT_CODEX_MODEL, c as buildStopHookCommand, ct as createChatCompletions, d as fileBlockBudget, dt as parseJsonOrDiagnose, et as handleMcpPost, f as injectStopHookIntoSettingsFile, ft as provisionBrowserAssets, g as fileBaselineStore, gt as extractZipMember, h as stopReviewEnabled, ht as extractTarGzMember, i as buildAgentPrompt, it as countTokens, jt as tryRefreshAndRetry, kt as setupCopilotToken, l as captureLaunchBaseline, lt as MAX_RESPONSE_BODY_BYTES, m as stopGateId, mt as provisionAndIndexColbert, n as MCP_GROUPS, nt as standInToolEnabled, o as personasFor, ot as getTokenCount, p as launchBaselineKey, pt as hasSupportedBrowserInstalled, q as isAdvisorRequested, qt as githubHeaders, r as assertMcpToolSurfaceConsistent, rt as workerToolsEnabled, s as buildSessionBindHookCommand, st as createResponses, t as GROUP_META, tt as browserToolsEnabled, u as decideStopHook, ut as readResponseBodyCapped, v as fileLastPromptStore, vt as toolbeltPathOverride, w as stopReviewStateDir, wt as UPSTREAM_INACTIVITY_TIMEOUT_MS, x as repoFingerprint, xt as DEFAULT_CODEX_MODEL_FALLBACKS, y as fileReviewDebounce, yt as DEFAULT_CLAUDE_MODEL_FALLBACKS, z as vscodeRipgrepPath, zt as sleep } from "./peer-mcp-personas-CoeEliOe.js";
2
+ import { $ as handleMcpDelete, At as setupCopilotToken, B as TOOLBELT_TOOLS, Bt as sleep, C as stopGateEnabledForRepo, Ct as DEFAULT_PORT, D as liveExec, Dt as pickClaudeDefault, E as resolveSealedGate, Et as generateRandomPort, F as availableToolCommands, Ft as cacheVSCodeVersion, G as buildAdvisorStream, Gt as GITHUB_API_BASE_URL, H as searchWeb, Ht as fetchWithTransientRetry, I as buildToolbeltAwareness, It as filterBetaHeader, J as buildOpenAIErrorEvent, Jt as githubHeaders, K as injectAdvisorTool, Kt as copilotBaseUrl, L as toolbeltEnabled, Lt as isNullish, Mt as tryRefreshAndRetry, Nt as cacheCopilotVersion, Ot as getPackageVersion, Pt as cacheModels, Q as relayAnthropicStream, R as toolbeltSkipSet, Rt as resolveCodexModel, S as repoRoot, St as DEFAULT_CODEX_MODEL_FALLBACKS, T as trustRepo, Tt as UPSTREAM_INACTIVITY_TIMEOUT_MS, U as ADVISOR_INTERNAL_TOOL_NAME, Ut as HTTPError, V as assetFor, Vt as getModels, W as ADVISOR_TOOL_INSTRUCTIONS, Wt as forwardError, X as logStreamError, Y as isControllerClosedError, Yt as state, Z as readIteratorWithTimeout, _ as fileFindingsStore, _t as extractZipMember, a as buildPeerAwarenessSnippet, at as countTokens, b as isSubagentContext, bt as DEFAULT_CLAUDE_MODEL_FALLBACKS, c as buildStopHookCommand, ct as createResponses, d as fileBlockBudget, dt as readResponseBodyCapped, et as handleMcpPost, f as injectStopHookIntoSettingsFile, ft as parseJsonOrDiagnose, g as fileBaselineStore, gt as extractTarGzMember, h as stopReviewEnabled, ht as provisionAndIndexColbert, i as buildAgentPrompt, it as workerToolsEnabled, jt as setupGitHubToken, kt as withInstallLock, l as captureLaunchBaseline, lt as createChatCompletions, m as stopGateId, mt as hasSupportedBrowserInstalled, n as MCP_GROUPS, nt as fleetToolsEnabled, o as personasFor, ot as createMessages, p as launchBaselineKey, pt as provisionBrowserAssets, q as isAdvisorRequested, qt as copilotHeaders, r as assertMcpToolSurfaceConsistent, rt as standInToolEnabled, s as buildSessionBindHookCommand, st as getTokenCount, t as GROUP_META, tt as browserToolsEnabled, u as decideStopHook, ut as MAX_RESPONSE_BODY_BYTES, v as fileLastPromptStore, vt as collapsePathKeys, w as stopReviewStateDir, wt as UPSTREAM_FETCH_TIMEOUT_MS, x as repoFingerprint, xt as DEFAULT_CODEX_MODEL, y as fileReviewDebounce, yt as toolbeltPathOverride, z as vscodeRipgrepPath, zt as resolveModel } from "./peer-mcp-personas-Be4SAgm0.js";
3
3
  import { a as removeOwnClaudeConfigMirror, i as isUnderClaudeConfigMirror, l as writeRuntimeFileSecure, n as ensureClaudeConfigMirror, r as ensurePaths, t as PATHS } from "./paths-CNgpeaWd.js";
4
4
  import { c as killManagedTree, d as runCommandCapture, f as runCommandVoid, l as parseBoolEnv, s as killChildProcessTree, u as resolveExecutable } from "./lifecycle-DTJ2Ugqf.js";
5
5
  import { a as sweepRegistry } from "./lifecycle-Cyxwmj1c.js";
@@ -578,7 +578,8 @@ const STRIPPED_PARENT_ENV_KEYS = [
578
578
  "OPENAI_API_KEY",
579
579
  "OPENAI_BASE_URL",
580
580
  "CODEX_HOME",
581
- "AIORDIE_CLAUDE_BIND"
581
+ "AIORDIE_CLAUDE_BIND",
582
+ "AIORDIE_TOKEN"
582
583
  ];
583
584
  /**
584
585
  * Strip auth-related keys from a parent-process env object. The result
@@ -683,7 +684,8 @@ function buildCodexCmd(target) {
683
684
  return cmd;
684
685
  }
685
686
  function buildLaunchCommand(target) {
686
- const cmd = target.kind === "claude-code" ? [
687
+ const wantsPermissionMode = target.kind === "claude-code" && target.extraArgs.some((arg) => arg === "--permission-mode" || arg.startsWith("--permission-mode="));
688
+ const cmd = target.kind === "claude-code" ? wantsPermissionMode ? ["claude", ...target.extraArgs] : [
687
689
  "claude",
688
690
  "--dangerously-skip-permissions",
689
691
  ...target.extraArgs
@@ -2032,7 +2034,7 @@ async function discoverGateCommands(cwd, opts) {
2032
2034
  if (files.length === 0) return null;
2033
2035
  let result;
2034
2036
  try {
2035
- const { runWorkerAgent } = await import("./engine-CMdE-QiX.js");
2037
+ const { runWorkerAgent } = await import("./engine-DzgC_a0X.js");
2036
2038
  result = await runWorkerAgent({
2037
2039
  mode: "explore",
2038
2040
  workspace: root,
@@ -3511,7 +3513,7 @@ function initProxyFromEnv() {
3511
3513
  //#endregion
3512
3514
  //#region package.json
3513
3515
  var name = "github-router";
3514
- var version$1 = "0.3.121";
3516
+ var version$1 = "0.3.126";
3515
3517
 
3516
3518
  //#endregion
3517
3519
  //#region src/lib/approval.ts
@@ -5248,6 +5250,7 @@ async function setupAndServe(options) {
5248
5250
  state.showToken = options.showToken;
5249
5251
  state.extendedBetas = options.extendedBetas;
5250
5252
  state.browseEnabled = options.browseEnabled || process.env.GH_ROUTER_ENABLE_BROWSE === "1";
5253
+ state.fleetEnabled = options.fleetEnabled || process.env.GH_ROUTER_ENABLE_FLEET === "1";
5251
5254
  state.powerBrowseEnabled = options.powerBrowseEnabled || process.env.GH_ROUTER_ENABLE_POWER_BROWSE === "1";
5252
5255
  if (state.powerBrowseEnabled) state.browseEnabled = true;
5253
5256
  if (process.env.GH_ROUTER_BROWSER_NO_HUMANLIKE === "1") state.humanlikeForce = "off";
@@ -5361,6 +5364,11 @@ const sharedServerArgs = {
5361
5364
  default: false,
5362
5365
  description: "Enable the browser-control MCP tools (browser_open_tab, browser_screenshot, browser_click, etc.) on /mcp. Requires Chrome or Edge installed; the bundled extension must be loaded on first tool call (the proxy returns install_required with Web Store URLs + a Load Unpacked fallback path). Off by default; can also be enabled with GH_ROUTER_ENABLE_BROWSE=1."
5363
5366
  },
5367
+ fleet: {
5368
+ type: "boolean",
5369
+ default: false,
5370
+ description: "Enable the fleet session-control MCP tools (mcp__fleet__*) on /mcp for driving sessions across remote ai-or-die instances over their tunnels. Off by default; also enabled with GH_ROUTER_ENABLE_FLEET=1."
5371
+ },
5364
5372
  "power-browse": {
5365
5373
  type: "boolean",
5366
5374
  default: false,
@@ -5413,6 +5421,7 @@ function parseSharedArgs(args) {
5413
5421
  proxyEnv: args["proxy-env"],
5414
5422
  extendedBetas: args["extended-betas"],
5415
5423
  browseEnabled: args.browse,
5424
+ fleetEnabled: args.fleet,
5416
5425
  powerBrowseEnabled: args["power-browse"],
5417
5426
  humanlikeEnabled: args.humanlike
5418
5427
  };
@@ -5658,6 +5667,7 @@ const claude = defineCommand({
5658
5667
  if (workerToolsEnabled()) enabledGroups.push("workers");
5659
5668
  if (standInToolEnabled()) enabledGroups.push("decide");
5660
5669
  if (browserToolsEnabled()) enabledGroups.push("browser");
5670
+ if (fleetToolsEnabled()) enabledGroups.push("fleet");
5661
5671
  const { keys: groupKeys, skipped: skippedGroups } = await resolveGroupKeysFromMirror(enabledGroups);
5662
5672
  const runtime = await writePeerMcpRuntimeFiles(serverUrl, {
5663
5673
  codexCli: backend === "cli",