run402 2.21.0 → 2.23.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.
@@ -215,11 +215,10 @@ const { title, ogImage, canonical } = Astro.props;
215
215
  // 2. DB update.
216
216
  // 3. cache.invalidate() so the public URL re-renders fresh on next visit.
217
217
  import type { APIRoute } from "astro";
218
- import { db, getUser, cache } from "@run402/functions";
218
+ import { db, auth, cache } from "@run402/functions";
219
219
 
220
220
  export const POST: APIRoute = async ({ request }) => {
221
- const user = await getUser();
222
- if (!user) return new Response("Unauthorized", { status: 401 });
221
+ const user = await auth.requireUser();
223
222
 
224
223
  const body = (await request.json()) as { slug: string; title: string; html: string };
225
224
  if (!body?.slug) return new Response("Missing slug", { status: 400 });
@@ -236,6 +235,96 @@ export const POST: APIRoute = async ({ request }) => {
236
235
  headers: { "content-type": "application/json" },
237
236
  });
238
237
  };
238
+ `,
239
+ },
240
+ {
241
+ path: "AGENTS.md",
242
+ content: `# AGENTS.md
243
+
244
+ This file documents the brutally-small Run402 surface this Astro project
245
+ uses. Coding agents: read this first. The platform is intentionally small —
246
+ there are no other auth helpers, no other client surfaces, and no other
247
+ hidden APIs.
248
+
249
+ ## The auth surface
250
+
251
+ \`auth\` is the entire user-auth surface. Import from \`@run402/functions\`:
252
+
253
+ \`\`\`ts
254
+ import { auth } from "@run402/functions";
255
+
256
+ // In SSR pages and API routes:
257
+ const user = await auth.user(); // Actor | null
258
+ const user = await auth.requireUser(); // Actor; throws R402_AUTH_REQUIRED
259
+ const { user, role } = await auth.requireRole("admin");
260
+ const { user, membership } = await auth.requireMembership("member");
261
+ await auth.requireFresh({ maxAge: "10m", amr: ["passkey"] });
262
+
263
+ // CSRF for hosted forms (server-side, in <form> rendering):
264
+ const field = auth.csrfField();
265
+ // → <input type="hidden" name="_csrf" value="..." />
266
+
267
+ // Cross-origin-safe fetch (auto-forwards actor context to same-origin):
268
+ const res = await auth.fetch("/api/internal"); // relative URLs only
269
+ \`\`\`
270
+
271
+ ## The four Never rules
272
+
273
+ 1. **Never \`try\`/\`catch\` auth errors.** Let them bubble. The platform turns
274
+ \`R402_AUTH_REQUIRED\` into a 303 to \`/auth/sign-in?return_to=…\` and
275
+ \`R402_AUTH_INSUFFICIENT_ROLE\` into 403 with a fix-it response. Catching
276
+ them creates silent-null bugs.
277
+
278
+ 2. **Never \`.eq("user_id", user.id)\`.** \`db()\` propagates the actor to
279
+ PostgREST so RLS enforces ownership server-side. The redundant filter is
280
+ a code smell that \`run402 doctor\` flags as
281
+ \`R402_AUTH_REDUNDANT_USER_FILTER\`.
282
+
283
+ 3. **Never set client-supplied actor headers.** \`x-run402-actor-*\`,
284
+ \`run402.actor.*\`, \`x-r402-actor-*\` are platform-owned channel headers.
285
+ The gateway strips inbound spoofing attempts and emits
286
+ \`R402_AUTH_ACTOR_HEADER_SPOOF\` in strict mode.
287
+
288
+ 4. **Never mint a session from a raw \`userId\`.** Use
289
+ \`auth.sessions.createResponseFromIdentity({ provider, subject, proof, amr })\`
290
+ with a verified identity proof. No \`createSessionForUserId(uuid)\` API exists.
291
+
292
+ ## Hosted UI components
293
+
294
+ For sign-in, sign-up, and sign-out chrome, use the platform's
295
+ \`@run402/astro\` components — they emit forms posting to platform hosted
296
+ routes (\`/auth/v1/sign-in\` etc.) with the CSRF token already wired:
297
+
298
+ \`\`\`astro
299
+ ---
300
+ import { SignIn, SignUp, UserButton, SignedIn, SignedOut } from "@run402/astro";
301
+ ---
302
+
303
+ <SignedIn>
304
+ <UserButton />
305
+ </SignedIn>
306
+ <SignedOut>
307
+ <SignIn returnTo="/dashboard" />
308
+ </SignedOut>
309
+ \`\`\`
310
+
311
+ Do NOT roll your own sign-in form. The hosted routes handle CSRF, returnTo
312
+ validation, OAuth provider bridges, and passkey ceremonies.
313
+
314
+ ## Rendering-mode quick map
315
+
316
+ \`auth.*\` calls run at request time, so the page must be SSR or a
317
+ server-island. Calling \`auth.user()\` from a prerendered page throws
318
+ \`R402_AUTH_PRERENDERED\`.
319
+
320
+ | Mode | When | Auth-aware |
321
+ | ----------------------------- | ----------------------------------- | ----------------------- |
322
+ | SSR (default) | Personalized pages | \`auth.user()\` works |
323
+ | Prerendered | Marketing pages, never sees actor | \`auth.*\` throws |
324
+ | Server island | Prerendered page + personalized slot| \`auth.*\` in the island|
325
+ | Client hydrate | Visibility-only, no SSR pass | Component hits session |
326
+
327
+ For error-code reference: https://run402.com/errors/#R402_AUTH_REQUIRED
239
328
  `,
240
329
  },
241
330
  ];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "run402",
3
- "version": "2.21.0",
3
+ "version": "2.23.0",
4
4
  "description": "CLI for Run402 — provision Postgres databases, deploy static sites, generate images, and manage wallets via x402 and MPP micropayments.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -41,36 +41,8 @@ export type EffectiveProjectStatus = "active" | "past_due" | "frozen" | "dormant
41
41
  export interface ProjectSummary {
42
42
  id: string;
43
43
  name: string;
44
- tier: string;
45
- /**
46
- * Derived effective status — see {@link EffectiveProjectStatus}. Prefer
47
- * this over `account_lifecycle_state` for serving decisions because it
48
- * collapses per-project `deleted_at` / `archived_at` into the same union.
49
- */
50
- effective_status: EffectiveProjectStatus;
51
- /**
52
- * The owning billing account's lifecycle state. Every project on the
53
- * same account shares this value (gateway v1.57+).
54
- */
55
- account_lifecycle_state: BillingAccountLifecycleState;
56
- /**
57
- * Mirror of the owning billing account's `lease_perpetual` flag. When
58
- * `true`, the account never advances past `active` regardless of lease
59
- * expiry. Replaces the v1.56 per-project `pinned`.
60
- */
61
- lease_perpetual: boolean;
62
- /** ISO timestamp when the user deleted this project. `null` if the project still exists. */
63
- deleted_at: string | null;
64
- /** ISO timestamp when an operator archived this project. `null` if not archived. */
65
- archived_at: string | null;
66
44
  api_calls: number;
67
45
  storage_bytes: number;
68
- /**
69
- * Optional: the gateway's project list does not currently include the
70
- * lease expiry. Read it from `r.tier.status()` if you need it.
71
- * `null` is reserved for unleased accounts.
72
- */
73
- lease_expires_at?: string | null;
74
46
  created_at: string;
75
47
  }
76
48
  export interface ListProjectsResult {
@@ -1 +1 @@
1
- {"version":3,"file":"projects.types.d.ts","sourceRoot":"","sources":["../../src/namespaces/projects.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projects.types.d.ts","sourceRoot":"","sources":["../../src/namespaces/projects.types.ts"],"names":[],"mappings":"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"}
@@ -67,17 +67,16 @@ export interface TierStatusResult {
67
67
  lease_expires_at: string | null;
68
68
  active: boolean;
69
69
  /**
70
- * Lifecycle state of the owning billing account (gateway v1.57+). Optional
71
- * older gateways do not return it at the top level. When present, this
72
- * mirrors the same field on each `projects[]` entry.
70
+ * Lifecycle state of the owning billing account. `null` only when the
71
+ * wallet has no billing account row (orphan wallet).
73
72
  */
74
- account_lifecycle_state?: "active" | "past_due" | "frozen" | "dormant" | "purged";
73
+ account_lifecycle_state: "active" | "past_due" | "frozen" | "dormant" | "purged" | null;
75
74
  /**
76
- * Operator escape hatch flag on the owning billing account (v1.57+). When
77
- * `true`, the account never advances past `active` regardless of lease
78
- * expiry. Optional older gateways do not return it.
75
+ * Operator escape hatch flag on the owning billing account. When `true`,
76
+ * the account never advances past `active` regardless of lease expiry.
77
+ * `null` only for orphan wallets with no billing account row.
79
78
  */
80
- lease_perpetual?: boolean;
79
+ lease_perpetual: boolean | null;
81
80
  pool_usage: {
82
81
  projects: number;
83
82
  total_api_calls: number;
@@ -1 +1 @@
1
- {"version":3,"file":"tier.d.ts","sourceRoot":"","sources":["../../src/namespaces/tier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tier.d.ts","sourceRoot":"","sources":["../../src/namespaces/tier.ts"],"names":[],"mappings":"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"}