You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The private gateway repo big-bang-sunset the legacy storage shim on
2026-04-28 (#120). The four MCP tools (upload_file,
download_file, list_files, delete_file) and CLI 'run402 storage'
subcommand in this repo were pointed at routes that now 404.
Pre-revenue position is clean slate: delete every reference, no
migration tables, no "supersedes" mentions, no redirector stubs. New
agents read new docs and discover blob_* in its own terms.
- Delete 4 MCP tool handlers + tests; strip imports + registrations
from src/index.ts; remove "supersedes upload_file" mentions from the
blob_* tool descriptions
- Delete cli/lib/storage.mjs + openclaw/scripts/storage.mjs; remove
the dispatcher case + HELP entry from cli/cli.mjs
- Scrub SKILL.md, README.md, README.zh-CN.md, openclaw/SKILL.md,
cli/llms-cli.txt — drop tool-table rows, drop deprecated sections,
swap upload_file examples for blob_put. Final grep returns zero
- Update sync.test.ts SURFACE + IGNORED_ENDPOINTS; SKILL.test.ts;
cli-help.test.mjs; remove storage-targeting cases from
cli-integration.test.ts and cli-e2e.test.mjs
- Apply REMOVE delta to incremental-deploy spec for the dead
"Upload file shows public URL" requirement; mark obsolete carve-outs
in active add-run402-sdk change
- Bump run402-mcp, run402, @run402/sdk to 1.47.0
Tests: 422 unit + 271 e2e all green. Build clean.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Delete a blob and decrement the project's storage usage. Supersedes `delete_file` (deprecated).
164
+
Delete a blob and decrement the project's storage usage.
167
165
168
166
**Parameters:**
169
167
-`project_id` (required) — Project ID
@@ -210,26 +208,6 @@ Polls the CDN until a **mutable** blob URL serves the expected SHA-256, or the t
210
208
211
209
**Returns:**`{ fresh, observedSha256, attempts, elapsedMs, vantage }`. The tool returns `isError=true` on timeout so an agent can branch into a fallback (typically: switch to the immutableUrl, which is always immediately correct).
212
210
213
-
### upload_file (deprecated)
214
-
215
-
Legacy file upload. **Deprecated — sunset 2026-06-01.** Use `blob_put` instead.
216
-
217
-
**Parameters:**
218
-
-`project_id` (required) — Project ID
219
-
-`bucket` (required) — Storage bucket name (e.g., `"assets"`)
220
-
-`path` (required) — File path within bucket (e.g., `"logs/2024-01-01.txt"`)
221
-
-`content` (required) — Text content to upload
222
-
-`content_type` (optional, default: `"text/plain"`) — MIME type
223
-
224
-
**Returns:**`{ key: "assets/logs/2024-01-01.txt", size: 1234 }` with the stored file path and size in bytes.
Run402 supports two payment protocols: **x402** (USDC on Base) and **MPP** (pathUSD on Tempo). Both use the same wallet key. Here's what you need to know:
832
810
833
-
**When payment is needed:** Only `provision_postgres_project` and `renew_project` require x402 payment. All other tools (run_sql, rest_query, upload_file) use stored project keys — no payment needed.
811
+
**When payment is needed:** Only `provision_postgres_project` and `renew_project` require x402 payment. All other tools (run_sql, rest_query, blob_put) use stored project keys — no payment needed.
834
812
835
813
**What a 402 response looks like:** When payment is required, the tool returns payment details as informational text (not an error). The response includes the price, network (Base L2), and payment address.
836
814
@@ -859,7 +837,7 @@ Prototype uses testnet tokens — no real money needed. With x402: Base Sepolia
859
837
860
838
**Key usage patterns:**
861
839
- Use `service_key` (via `run_sql` or `key_type: "service"`) for: table creation, RLS setup, seeding data, admin queries
862
-
- Use `anon_key` (via `rest_query` default or `upload_file`) for: user-facing reads, file uploads
840
+
- Use `anon_key` (via `rest_query` default or `blob_put`) for: user-facing reads, file uploads
863
841
- Use `access_token` (from auth login, via HTTP) for: user-scoped CRUD subject to RLS
0 commit comments