@0xmaxma/claude-gateway 1.5.6 → 1.5.7

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.
@@ -52,7 +52,8 @@ services:
52
52
  build: . # or ./subdir if not root
53
53
  ports:
54
54
  - name: <api|web>
55
- container: <port>
55
+ container: <port> # port the app listens on inside the container
56
+ host: <port> # REQUIRED — host port to expose (default: same as container)
56
57
  type: <api|web> # api = REST/backend, web = serves HTML
57
58
  rate_limit: 60 # requests per second
58
59
  environment:
@@ -67,6 +68,11 @@ services:
67
68
  retries: 3
68
69
  ```
69
70
 
71
+ Rules for `host` (required on every port):
72
+ - `host` is the port exposed on the machine; `container` is the port the app listens on inside the container. Every declared port **must** have an integer `host` — the gateway rejects a manifest without it (`ports["<name>"].host is required and must be an integer`), so a host-less app fails to install.
73
+ - Default `host` to the same value as `container` unless that port is already taken.
74
+ - `host` must be `>= 1024`, must not be a banned port (`22`, `80`, `443`, `10850`), and must be unique across the app's ports. The user can override it at install time, but the field must be present.
75
+
70
76
  Rules for port type:
71
77
  - `type: web` if Dockerfile serves static HTML, runs Next.js/React/Vite, or uses nginx/caddy
72
78
  - `type: api` otherwise
@@ -88,6 +94,7 @@ Show the generated `app.yaml` to the user and explain:
88
94
  2. They can add a `healthcheck:` if the service has a health endpoint
89
95
  3. If the app has an agent, they can add an `agent:` service block
90
96
  4. The `rate_limit` is requests per second — adjust to match expected load
97
+ 5. **Validate before publishing** — run `POST /api/v1/apps/inspect` with `local_path` (or the `inspect_app` MCP tool) pointed at the app directory. This runs the same manifest validation as install without needing a pinned commit, so a missing `host` or other schema error is caught locally instead of failing the install wizard after publish.
91
98
 
92
99
  ---
93
100
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@0xmaxma/claude-gateway",
3
- "version": "1.5.6",
3
+ "version": "1.5.7",
4
4
  "description": "Multi-agent gateway for Claude",
5
5
  "repository": {
6
6
  "type": "git",