@pipod/cli 0.1.13 → 0.1.14

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.
@@ -1,4 +1,4 @@
1
- .TH "PIPOD\-CONFIG" "5" "October 2026" "0.1.13"
1
+ .TH "PIPOD\-CONFIG" "5" "October 2026" "0.1.14"
2
2
  .SH "NAME"
3
3
  \fBpipod-config\fR \- pi pod configuration files
4
4
  .SH SYNOPSIS
@@ -20,6 +20,18 @@ file and \fBpipod settings <layer> set <key> <value>\fP changes one key on the s
20
20
  .P
21
21
  A key of the wrong type fails the command that reads it, naming the key\. An unknown key is
22
22
  ignored with a warning\.
23
+ .SH SESSION PROXIES
24
+ .P
25
+ Session WebSockets honor \fBWSS_PROXY\fP (\fBWS_PROXY\fP for plain WebSockets), generic
26
+ \fBALL_PROXY\fP settings, and then fall back to \fBHTTPS_PROXY\fP (\fBHTTP_PROXY\fP for plain
27
+ WebSockets)\. Lowercase names take precedence over uppercase names; npm proxy
28
+ settings follow \fBproxy\-from\-env\fP conventions\. \fBNO_PROXY\fP supports hostnames,
29
+ domain suffixes, optional ports, and \fB*\fP for direct connections\.
30
+ .P
31
+ Proxy URLs must use HTTP or HTTPS\. Session connections use CONNECT tunnels and
32
+ retain TLS certificate verification for both the proxy and the destination\.
33
+ These variables apply to initial attachment and reconnection, without requiring
34
+ \fBNODE_USE_ENV_PROXY\fP\|\. With no matching proxy setting, sessions connect directly\.
23
35
  .SH POD KEYS
24
36
  .P
25
37
  These travel to the server and decide what a pod gets\. The defaults are the built\-in layer's\.
@@ -20,6 +20,19 @@ file and `pipod settings <layer> set <key> <value>` changes one key on the serve
20
20
  A key of the wrong type fails the command that reads it, naming the key. An unknown key is
21
21
  ignored with a warning.
22
22
 
23
+ ## SESSION PROXIES
24
+
25
+ Session WebSockets honor `WSS_PROXY` (`WS_PROXY` for plain WebSockets), generic
26
+ `ALL_PROXY` settings, and then fall back to `HTTPS_PROXY` (`HTTP_PROXY` for plain
27
+ WebSockets). Lowercase names take precedence over uppercase names; npm proxy
28
+ settings follow `proxy-from-env` conventions. `NO_PROXY` supports hostnames,
29
+ domain suffixes, optional ports, and `*` for direct connections.
30
+
31
+ Proxy URLs must use HTTP or HTTPS. Session connections use CONNECT tunnels and
32
+ retain TLS certificate verification for both the proxy and the destination.
33
+ These variables apply to initial attachment and reconnection, without requiring
34
+ `NODE_USE_ENV_PROXY`. With no matching proxy setting, sessions connect directly.
35
+
23
36
  ## POD KEYS
24
37
 
25
38
  These travel to the server and decide what a pod gets. The defaults are the built-in layer's.
package/man/pipod.1 CHANGED
@@ -1,4 +1,4 @@
1
- .TH "PIPOD" "1" "October 2026" "0.1.13"
1
+ .TH "PIPOD" "1" "October 2026" "0.1.14"
2
2
  .SH "NAME"
3
3
  \fBpipod\fR \- run pi coding\-agent sessions in server\-managed pods
4
4
  .SH SYNOPSIS
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pipod/cli",
3
- "version": "0.1.13",
3
+ "version": "0.1.14",
4
4
  "description": "Run pi coding-agent sessions in server-managed pods",
5
5
  "type": "module",
6
6
  "license": "AGPL-3.0-only",
@@ -34,7 +34,7 @@
34
34
  "build:man": "marked-man --no-breaks man/pipod.1.md -o man/pipod.1 && marked-man --no-breaks man/pipod-config.5.md -o man/pipod-config.5",
35
35
  "typecheck": "tsc --noEmit",
36
36
  "lint": "node --import tsx scripts/check-runtime-surface.ts",
37
- "test:integration": "node --import tsx --test --test-concurrency=1 test/integration/account-cli.test.ts test/integration/account-login-me-http.test.ts test/integration/billing-cli.test.ts test/integration/capacity-wait-http.test.ts test/integration/cli-main.test.ts test/integration/local-extensions.test.ts test/integration/nested-pods.test.ts test/integration/oidc-security.test.ts test/integration/secrets-cli.test.ts test/integration/workspace-seeding.test.ts test/integration/workstation-wake-http.test.ts",
37
+ "test:integration": "node --import tsx --test --test-concurrency=1 test/integration/account-cli.test.ts test/integration/account-login-me-http.test.ts test/integration/billing-cli.test.ts test/integration/capacity-wait-http.test.ts test/integration/cli-main.test.ts test/integration/local-extensions.test.ts test/integration/nested-pods.test.ts test/integration/oidc-security.test.ts test/integration/secrets-cli.test.ts test/integration/session-websocket-proxy.test.ts test/integration/workspace-seeding.test.ts test/integration/workstation-wake-http.test.ts",
38
38
  "check": "npm run lint && npm run typecheck",
39
39
  "prepublishOnly": "npm run build"
40
40
  },
@@ -42,11 +42,14 @@
42
42
  "@earendil-works/pi-coding-agent": "1.0.2",
43
43
  "@earendil-works/pi-tui": "1.0.2",
44
44
  "cron-parser": "^5.10.0",
45
+ "https-proxy-agent": "^9.1.0",
45
46
  "jose": "^5.10.0",
47
+ "proxy-from-env": "^1.1.0",
46
48
  "ws": "^8.22.0"
47
49
  },
48
50
  "devDependencies": {
49
51
  "@types/node": "^22.10.0",
52
+ "@types/proxy-from-env": "^1.0.4",
50
53
  "@types/ws": "^8.18.1",
51
54
  "marked-man": "^2.1.1",
52
55
  "tsup": "^8.3.5",