@openhoo/hoopilot 0.9.2 → 0.9.3

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
@@ -58,17 +58,17 @@ Run Hoopilot as a long-lived service from the published multi-arch image on the
58
58
  # 1. Sign in once; the OAuth credential is written to the persisted /data volume.
59
59
  docker run --rm -it -v hoopilot-data:/data ghcr.io/openhoo/hoopilot login
60
60
 
61
- # 2. Run the proxy. An API key is required because the container binds 0.0.0.0.
61
+ # 2. Run the proxy on localhost.
62
62
  docker run -d --name hoopilot --restart unless-stopped \
63
- -p 4141:4141 -e HOOPILOT_API_KEY=local-key \
63
+ -p 127.0.0.1:4141:4141 \
64
64
  -v hoopilot-data:/data ghcr.io/openhoo/hoopilot
65
65
  ```
66
66
 
67
- Tags follow the release version (e.g. `ghcr.io/openhoo/hoopilot:0.8`, `:0.8.3`) plus `:latest`. The image listens on `0.0.0.0:4141`, runs as a non-root user, and stores its OAuth credential at `/data/auth.json` (override with `HOOPILOT_AUTH_FILE`). A `docker-compose.yml` is provided in the repository:
67
+ Tags follow the release version (e.g. `ghcr.io/openhoo/hoopilot:0.8`, `:0.8.3`) plus `:latest`. The image listens on `0.0.0.0:4141`, runs as a non-root user, and stores its OAuth credential at `/data/auth.json` (override with `HOOPILOT_AUTH_FILE`). The Docker image allows unauthenticated local clients by default; set `HOOPILOT_API_KEY` if you publish the port beyond localhost. A `docker-compose.yml` is provided in the repository:
68
68
 
69
69
  ```sh
70
70
  docker compose run --rm hoopilot login # one-time GitHub OAuth
71
- HOOPILOT_API_KEY=local-key docker compose up -d
71
+ docker compose up -d
72
72
  ```
73
73
 
74
74
  ## Update
package/dist/cli.js CHANGED
@@ -3790,15 +3790,17 @@ async function verifyCopilotOAuthToken(token, options = {}) {
3790
3790
  token
3791
3791
  };
3792
3792
  }
3793
- function openBrowserBestEffort(url) {
3793
+ function openBrowserBestEffort(url, spawnOpener = spawn) {
3794
3794
  const platform = process.platform;
3795
3795
  const command = platform === "win32" ? "cmd" : platform === "darwin" ? "open" : "xdg-open";
3796
3796
  const args = platform === "win32" ? ["/c", "start", "", url] : [url];
3797
3797
  try {
3798
- const child = spawn(command, args, {
3798
+ const child = spawnOpener(command, args, {
3799
3799
  detached: true,
3800
3800
  stdio: "ignore"
3801
3801
  });
3802
+ child.on("error", () => {
3803
+ });
3802
3804
  child.unref();
3803
3805
  } catch {
3804
3806
  }
@@ -3891,6 +3893,7 @@ if (import.meta.main) {
3891
3893
  }
3892
3894
  export {
3893
3895
  main2 as main,
3896
+ openBrowserBestEffort,
3894
3897
  parseArgs,
3895
3898
  runModels,
3896
3899
  runUsage,