impreza-mcp 0.50.0 → 0.52.0
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 +26 -2
- package/dist/server.js +185 -76
- package/dist/server.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -20,6 +20,30 @@ Set `IMPREZA_BASE_URL` before pairing for a different API endpoint. HTTPS is req
|
|
|
20
20
|
|
|
21
21
|
An existing credential file is never overwritten. Revoke an old paired key in clientarea before removing its file and pairing again. If an exchange or disk write fails, the code may already have been consumed: check and revoke the new key in clientarea before generating another code. Restart the AI client after pairing.
|
|
22
22
|
|
|
23
|
+
## Inbound access for non-HTTP ports (0.52.0)
|
|
24
|
+
|
|
25
|
+
- **`impreza_get_ingress`** reads which address ranges may reach each non-HTTP port an application publishes
|
|
26
|
+
(databases, game servers, RustDesk...). Every deployment starts open. The answer carries the revision, the status
|
|
27
|
+
(`open`, `pending`, `enforced`, `not_enforced` with a reason, or `agent_update_required` with the minimum agent
|
|
28
|
+
version) and, per port, open or restricted with its sources. Requires read scope.
|
|
29
|
+
- **`impreza_set_ingress`** replaces the allowlist with the complete desired state: `rules` lists only the restricted
|
|
30
|
+
ports, each with its IPv4 or IPv6 CIDR sources, and `rules=[]` opens every port again. Restricting can block your own
|
|
31
|
+
access, so it needs `confirm: true`; opening does not. Pass the `base_revision` you read; a stale one is refused with
|
|
32
|
+
`REVISION_CONFLICT`. The agent applies it within about a minute. If a restriction cannot be applied, the ports stay
|
|
33
|
+
open, the status says `not_enforced` with the reason, and an alert fires on the app. Requires manage scope.
|
|
34
|
+
- HTTP and HTTPS are not covered: they go through the proxy and the Shield. Enforcement needs agent 0.6.26 or later.
|
|
35
|
+
|
|
36
|
+
## Exact top-up amounts and checked IDs in API paths (0.51.0)
|
|
37
|
+
|
|
38
|
+
- **Exact top-up amounts.** `impreza_topup` accepts the amount as an exact decimal string (for example `"25.50"`)
|
|
39
|
+
and sends it to the API unchanged, without converting it to a binary floating-point number. A JSON number is still
|
|
40
|
+
accepted. Strings with an exponent, a sign, spaces or more than two decimal places are refused.
|
|
41
|
+
- **Every ID placed in an API path is checked.** The 0.50.0 guard for `deployment_id` now covers every identifier the
|
|
42
|
+
package places in an API URL path: task, backup, VPS, image, invoice, command, read and run IDs, agent IDs, onion
|
|
43
|
+
client names, the domain in tools that route by domain, and the dedicated IP for reverse DNS. A value that would add
|
|
44
|
+
or change path segments (`.`, `..`, `/`, `\`, `%`, whitespace or control characters) is refused before any request
|
|
45
|
+
leaves the process. Valid IDs are sent exactly as before.
|
|
46
|
+
|
|
23
47
|
## Protect an app, safer deployment IDs and bare VPS orders (0.50.0)
|
|
24
48
|
|
|
25
49
|
- **Protect an app, as a guided prompt.** `prompts/list` adds `impreza_protect_app`. Starting from one of your
|
|
@@ -315,7 +339,7 @@ Static npm sites: choose build_strategy=node_npm_static with a Git/context sourc
|
|
|
315
339
|
|
|
316
340
|
## Status
|
|
317
341
|
|
|
318
|
-
**Package version: 0.
|
|
342
|
+
**Package version: 0.52.0.** The tool catalog covers app deployment plus account +
|
|
319
343
|
crypto balance, catalog + ordering, domains/DNS + registration, invoices, VPS
|
|
320
344
|
lifecycle with snapshots and backups, dedicated / bare-metal servers, plan
|
|
321
345
|
upgrades, and Titan / Google Workspace mailboxes — with a setup wizard that
|
|
@@ -327,7 +351,7 @@ output kept, outbound webhooks so you stop polling, reading the app's own
|
|
|
327
351
|
files, and running the app's own command line.
|
|
328
352
|
|
|
329
353
|
The local (`npx`) server and the hosted OAuth connector expose the **same tool
|
|
330
|
-
catalog —
|
|
354
|
+
catalog — 218 tools in the local package**. Declared, one-direction gaps remain:
|
|
331
355
|
`impreza_get_log_request` stays hosted-only (only the control plane resolves a
|
|
332
356
|
bare `request_id`; locally, call `impreza_tail_logs` again on the application —
|
|
333
357
|
requests dedupe); `impreza_list_approvals`, `impreza_get_approval` and
|