diff --git a/README.md b/README.md index 50212e0..16b5ac7 100644 --- a/README.md +++ b/README.md @@ -325,7 +325,7 @@ interface WithCyclesConfig { // Reservation settings ttlMs?: number; // Time-to-live in ms (default: 60000, range: 1000–86400000) gracePeriodMs?: number; // Grace period in ms (range: 0–60000) - overagePolicy?: string; // "REJECT" (default), "ALLOW_IF_AVAILABLE", "ALLOW_WITH_OVERDRAFT" + overagePolicy?: string; // "ALLOW_IF_AVAILABLE" (default), "REJECT", "ALLOW_WITH_OVERDRAFT" dryRun?: boolean; // Shadow mode — evaluates budget without executing // Subject fields (override config defaults) diff --git a/src/lifecycle.ts b/src/lifecycle.ts index 11a086e..5747f44 100644 --- a/src/lifecycle.ts +++ b/src/lifecycle.ts @@ -134,7 +134,7 @@ function buildReservationBody( action, estimate: { unit, amount: estimate }, ttl_ms: ttlMs, - overage_policy: cfg.overagePolicy ?? "REJECT", + overage_policy: cfg.overagePolicy ?? "ALLOW_IF_AVAILABLE", }; validateGracePeriodMs(cfg.gracePeriodMs); diff --git a/src/streaming.ts b/src/streaming.ts index 1c654d2..4de05f6 100644 --- a/src/streaming.ts +++ b/src/streaming.ts @@ -120,7 +120,7 @@ export async function reserveForStream( actionTags, ttlMs = DEFAULT_TTL_MS, gracePeriodMs, - overagePolicy = "REJECT", + overagePolicy = "ALLOW_IF_AVAILABLE", dimensions, } = options; diff --git a/tests/lifecycle.test.ts b/tests/lifecycle.test.ts index fc62aed..1742e09 100644 --- a/tests/lifecycle.test.ts +++ b/tests/lifecycle.test.ts @@ -62,7 +62,7 @@ describe("AsyncCyclesLifecycle", () => { const createBody = client.createReservation.mock.calls[0][0]; expect(createBody.idempotency_key).toBeDefined(); expect(createBody.ttl_ms).toBe(60000); - expect(createBody.overage_policy).toBe("REJECT"); + expect(createBody.overage_policy).toBe("ALLOW_IF_AVAILABLE"); // Verify wire-format keys in commit body const commitBody = client.commitReservation.mock.calls[0][1];