jala_core 0.5.2
jala_core: ^0.5.2 copied to clipboard
Pure-Dart core for Jala: call model, store, redaction, filter grammar, exporters, network throttling, and session export/import. Zero Flutter.
0.5.2 #
- Lockstep release; no functional changes.
0.5.1 #
- Pub metadata:
homepage,issue_tracker, and description now mentions throttling + session export/import (docs-only; no API changes).
0.5.0 #
- Network throttling model:
JalaThrottleProfile(latency/jitter/bandwidth/ drop rate) with const presetsslow3g/fast3g/flaky/offline, andJalaThrottleRegistryon the binding (activeProfile, host-pattern glob,watch,shouldDrop/latencyFor/paceFor). Active only while the binding is enabled. - Session share codec:
JalaSessionCodec.encode/decodewith a versioned JSON envelope (jala-sessionmarker, v1). Round-tripsNetworkCallEntry(incl. captured bodies) andWsConnectionEntry+ frames; defensiveJalaSessionFormatExceptionon malformed input. JalaStore.importSession(replace/append) +isViewingImport; imported entries are taggedimported: true.- GraphQL subscription payload ring:
NetworkSubscriptionPayloadEvent,NetworkCallEntry.payloads/payloadCount, capped byJalaConfig.maxSubscriptionPayloads(default 50; wired throughJalaBinding.initialize). - Filter grammar:
is:subscription.
0.4.0 #
- GraphQL metadata on the existing call model:
NetworkCallEntry/NetworkRequestEventgainoperationName/operationType(query/mutation/subscription) — GraphQL calls are stillNetworkCallEntrys, just tagged. - New WebSocket entity:
WsConnectionEntry(id, uri, status, open/close times, close code/reason, frame count) with a per-connectionWsFramering buffer (default 200 frames; direction, binary flag, size, redacted text preview capped at 4 KB). New events:WsConnectEvent,WsOpenEvent,WsFrameEvent,WsCloseEvent,WsErrorEvent. JalaStoregains a parallelwsConnectionscollection (cap 20, oldest-closed evicted first) and awatchWsstream, independent of the existingentries/watch— WebSocket connections are never merged intoNetworkCallEntryat the core layer.- Filter grammar:
op:<name>(operationName glob),is:graphql(operationName != null),is:ws, and a newmatchesWsentry point for matchingWsConnectionEntry(bare text,host:/d:,status:/s:,is:ws).
0.3.0 #
- Mock rule engine:
JalaMockRule, sealedMockAction(MockResponse/MockFailure/MockDelay),JalaMockRegistry, and pluggableJalaMockStore(in-memory default). - URL glob helper
globMatchesfor full-URL pattern matching. NetworkCallEntry.mockRuleId/ request-event field for mocked calls.- Filter grammar:
is:mocked. - Replay API:
JalaReplayer.replayModified+ registry helper for edit-and-resend.
0.2.0 #
- Image body capture:
BodyKind.imageplusCapturedBody.bytes/CapturedBody.captureBytes, gated byJalaConfig.captureImageBodies(default true) andmaxBodyBytes. - Multipart model:
JalaMultipartPartandCapturedBodyMultipartwith the{"@multipart": [...]}JSON convention for structured part metadata. - Progress events:
NetworkProgressEvent(sent/received byte counters) andNetworkCallEntry.progressupdated live by the store. - cURL exporter emits
-Fflags with filename placeholders for multipart bodies (never real file contents); image bodies export as size/mime placeholders.
0.1.1 #
- Add pub.dev topics.
0.1.0 #
- Initial release:
NetworkCallEntry/CapturedBodymodels with a 512 KB per-body cap and safe handling of binary, oversize, and malformed-UTF8 data. JalaEventBus+JalaStorering buffer (default 300 entries) correlating request/response/error/cancel events by call id, evicting oldest completed entries first.JalaRedactor— case-insensitive header redaction (Authorization,Cookie,X-Api-Key, etc. by default) and body pattern redaction, designed to run at capture time so secrets never enter the store.JalaFilterDevTools-style query grammar:method:/m:,status:/s:,host:/d:,path:,type:/t:,larger-than:,slower-than:,is:replay,body:, bare text, and-negation.CurlExporter,DartSnippetExporter, andHarExporter(HAR 1.2, single call or whole session).JalaBindingprocess-wide singleton andJalaReplayRegistryso client integrations (e.g.jala_dio) can wire capture and replay.JalaConfigwithenabled,maxEntries,maxBodyBytes, andredactor.