{"uid":"cap_4YnORGa3xstY9noIl-U4n","slug":"indexeddb-cursor-key-range-update-transaction-replayer-bf99dac2","name":"IndexedDB Cursor Key-Range Update Transaction Replayer","description":"Replay IndexedDB cursor transactions.","url":"https://detect.halowerk.com/v1/F-TD2000-DOCUMENTS-17/indexeddb202610-objectstore-index-cursor-key-range-update-transaction-ledger?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"artifact":{"type":"object","$defs":{"key":{"type":"object","anyOf":[{"properties":{"type":{"const":"number"},"value":{"type":"number","maximum":1000000000,"minimum":-1000000000}}},{"properties":{"type":{"const":"date"},"value":{"type":"integer","maximum":1000000000000,"minimum":-1000000000000}}},{"properties":{"type":{"const":"string"},"value":{"type":"string","maxLength":32}}},{"properties":{"type":{"const":"binary"},"value":{"not":{"pattern":"[^0-9a-f]"},"type":"string","pattern":"^(?:[0-9a-f]{2})*$","maxLength":32}}},{"properties":{"type":{"const":"array"},"value":{"type":"array","items":{"$ref":"#/properties/input/properties/body/properties/artifact/%24defs/key"},"maxItems":8}}}],"properties":{"type":{},"value":{}},"minProperties":2,"additionalProperties":false},"value":{"type":"object","properties":{"fields":{"type":"array","items":{"type":"object","properties":{"key":{"$ref":"#/properties/input/properties/body/properties/artifact/%24defs/key"},"name":{"not":{"pattern":"[^a-z]"},"type":"string","pattern":"^[a-z]{1,8}$","maxLength":8,"minLength":1}},"minProperties":2,"additionalProperties":false},"maxItems":3},"payload":{"type":"string","maxLength":32}},"minProperties":2,"additionalProperties":false}},"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"indexedCursor":{"type":"object","properties":{"data":{"type":"object","properties":{"abort":{"type":"boolean"},"indexes":{"type":"array","items":{"type":"object","properties":{"name":{"not":{"pattern":"[^a-z]"},"type":"string","pattern":"^[a-z]{1,8}$","maxLength":8,"minLength":1},"field":{"not":{"pattern":"[^a-z]"},"type":"string","pattern":"^[a-z]{1,8}$","maxLength":8,"minLength":1},"unique":{"type":"boolean"},"multi_entry":{"type":"boolean"}},"minProperties":4,"additionalProperties":false},"maxItems":3},"initial":{"type":"array","items":{"type":"object","properties":{"key":{"$ref":"#/properties/input/properties/body/properties/artifact/%24defs/key"},"value":{"$ref":"#/properties/input/properties/body/properties/artifact/%24defs/value"}},"minProperties":2,"additionalProperties":false},"maxItems":16},"commands":{"type":"array","items":{"type":"object","required":["op"],"properties":{"op":{"enum":["add","put","delete","clear","get","count","cursor"]},"key":{"$ref":"#/properties/input/properties/body/properties/artifact/%24defs/key"},"range":{"type":["null","object"],"properties":{"lower":{"anyOf":[{"type":"null"},{"$ref":"#/properties/input/properties/body/properties/artifact/%24defs/key"}]},"upper":{"anyOf":[{"type":"null"},{"$ref":"#/properties/input/properties/body/properties/artifact/%24defs/key"}]},"lower_open":{"type":"boolean"},"upper_open":{"type":"boolean"}},"minProperties":4,"additionalProperties":false},"steps":{"type":"array","items":{"type":"object","required":[],"properties":{"key":{"$ref":"#/properties/input/properties/body/properties/artifact/%24defs/key"},"count":{"type":"integer","maximum":32,"minimum":0},"value":{"$ref":"#/properties/input/properties/body/properties/artifact/%24defs/value"},"method":{"enum":["continue","advance","continue_primary","stop"]},"mutation":{"enum":["none","update","delete"]},"primary_key":{"$ref":"#/properties/input/properties/body/properties/artifact/%24defs/key"}},"additionalProperties":false},"maxItems":16},"value":{"$ref":"#/properties/input/properties/body/properties/artifact/%24defs/value"},"source":{"anyOf":[{"type":"null"},{"not":{"pattern":"[^a-z]"},"type":"string","pattern":"^[a-z]{1,8}$","maxLength":8,"minLength":1}]},"direction":{"enum":["next","nextunique","prev","prevunique"]}},"additionalProperties":false},"maxItems":16}},"minProperties":4,"additionalProperties":false},"claim":{"type":["null","string"],"pattern":"^[0-9a-f]{64}$","maxLength":64,"minLength":64}},"minProperties":2,"additionalProperties":false}},"minProperties":1,"additionalProperties":false}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.003","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.003/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.003","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.003","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_XAq_9rUshNnp3CR7zFPi_","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.003","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Replays and validates IndexedDB cursor transactions including key-range scans, object store index operations, and transactional updates against a bounded artifact ledger.","exampleAgentPrompt":"Replay this IndexedDB cursor transaction for me: the object store has indexes named 'userid' (unique) and 'created' (non-unique, multi-entry), initial records with string keys like 'abc' and number keys, and I want to run a key-range update transaction without aborting — give me back the resulting ledger state.","exampleUseCases":[{"title":"Web platform test fixture validation","prompt":"I have an IndexedDB fixture with two indexes — 'name' (unique, not multi-entry) and 'date' (non-unique, multi-entry) — and three initial records with number keys. Replay the cursor update transaction across the key range without aborting and tell me what the final ledger looks like."},{"title":"Cursor abort path verification","prompt":"Replay this IndexedDB cursor transaction but set abort to true so I can verify what happens when the transaction is rolled back — the store has one index called 'score' and two initial records with binary keys."},{"title":"IndexedDB index cursor update correctness check","prompt":"I need to verify correctness of an IndexedDB cursor update: the object store has a 'tag' index (non-unique, multi-entry), initial data with array keys containing two elements each, and a payload string of 'deadbeef'. Run the replay and return the transaction ledger result."}],"resultDescription":"Returns the replayed transaction ledger state including final record values, cursor positions after traversal, index states, and whether the transaction committed or aborted — allowing the caller to verify correctness of IndexedDB cursor update behavior against expected outcomes.","failureModes":["Invalid key type or value out of allowed range returns a schema validation error","Key pattern contains non-hex characters for binary type causing rejection","Index or field names contain characters outside lowercase a-z causing validation failure","Array key exceeds maxItems of 8 causing rejection","Payload or string values exceed maxLength constraints returning an error","Malformed artifact structure with missing required properties returns 400","Transaction replay produces unexpected state divergence from fixture"],"whenToPreferThis":"Choose this endpoint when you need deterministic, sandboxed replay and validation of IndexedDB cursor transactions — particularly for web platform conformance testing, browser storage engine verification, or fixture-driven test harness scenarios. It is distinct from live browser IndexedDB APIs because it operates offline against a bounded artifact ledger, making it ideal for CI pipelines and automated correctness checks.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-11-04T06:39:19.420Z","isFirstParty":false,"canonicalSlug":"indexeddb-cursor-key-range-update-transaction-replayer-bf99dac2"}