@cntryl/fitz 0.0.3 → 0.0.4
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 +14 -0
- package/dist/index.cjs +379 -67
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +379 -68
- package/dist/index.mjs.map +1 -1
- package/dist/types/client/client.d.ts +1 -1
- package/dist/types/client/client.d.ts.map +1 -1
- package/dist/types/client/connection.d.ts +2 -1
- package/dist/types/client/connection.d.ts.map +1 -1
- package/dist/types/core/types.d.ts +6 -0
- package/dist/types/core/types.d.ts.map +1 -1
- package/dist/types/core/wake-gate.d.ts +11 -0
- package/dist/types/core/wake-gate.d.ts.map +1 -0
- package/dist/types/domains/queue/client.d.ts +5 -0
- package/dist/types/domains/queue/client.d.ts.map +1 -1
- package/dist/types/domains/schedule/client.d.ts +4 -1
- package/dist/types/domains/schedule/client.d.ts.map +1 -1
- package/dist/types/domains/stream/client.d.ts +7 -0
- package/dist/types/domains/stream/client.d.ts.map +1 -1
- package/dist/types/index.d.ts +3 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/transport/tcp.d.ts.map +1 -1
- package/dist/types/transport/types.d.ts +7 -0
- package/dist/types/transport/types.d.ts.map +1 -1
- package/dist/types/transport/websocket.d.ts.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -61,12 +61,26 @@ See `docs/OPERATIONS.md` for lifecycle events, metric names, and production guid
|
|
|
61
61
|
|
|
62
62
|
- After a client has connected successfully once, transport loss automatically triggers reconnect with bounded backoff unless `reconnect.enabled` is set to `false`.
|
|
63
63
|
- The initial `connect()` call is still one-shot by default. If service startup should wait out broker availability, build that loop at the application boundary.
|
|
64
|
+
- Idle subscription clients stay connected by default: `heartbeat.enabled` defaults to `true`, `heartbeat.intervalMs` defaults to `10000`, and `heartbeat.timeoutMs` defaults to `30000`.
|
|
65
|
+
- Heartbeats noop when the client was active within the current interval. Node WebSocket uses native ping/pong when available, TCP enables socket keepalive, and browser WebSocket relies on close/error plus receive-timeout suppression.
|
|
64
66
|
- Safe automatic retries are enabled by default through `ClientConfig.retry`:
|
|
65
67
|
- idempotent reads: KV `get` / `scan`, Stream `read` / `readPage` / `peek` / `metadata`, Lease `query`
|
|
66
68
|
- queue `enqueue()` only after Fitz explicitly rejects the write with a known transient commit failure
|
|
67
69
|
- The client does not automatically replay KV mutations, stream writes, queue reservations or acknowledgements, lease ownership changes, RPC calls, or notice publishes after an ambiguous post-send failure.
|
|
68
70
|
- `QueueItem`, `Lease`, `KvTransaction`, and `StreamSession` handles from the pre-disconnect session are stale after reconnect and must be reacquired.
|
|
69
71
|
|
|
72
|
+
## Wake Gates
|
|
73
|
+
|
|
74
|
+
`createWakeGate()` exposes the low-level wake primitive used by the client helpers. It is useful whenever a notification wakes the loop and the loop then performs the authoritative read or claim.
|
|
75
|
+
|
|
76
|
+
Subscription-driven helpers built on the gate:
|
|
77
|
+
|
|
78
|
+
- `queue.reserveWhenAvailable(route, { leaseSeconds, batchSize, signal })`
|
|
79
|
+
- `stream.readWhenCommitted(route, { offset, batchSize, maxBytes, filter, signal })`
|
|
80
|
+
- `schedule.waitForNotifications(route, { signal })`
|
|
81
|
+
|
|
82
|
+
Queue and stream subscriptions are wake signals, not work handlers. The authoritative work step remains `reserve()` or `read()`.
|
|
83
|
+
|
|
70
84
|
## Stream Replay
|
|
71
85
|
|
|
72
86
|
```typescript
|