@rulvar/store-conformance 1.3.1 → 1.4.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.
- package/README.md +29 -0
- package/dist/index.js +7 -0
- package/package.json +2 -2
package/README.md
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# @rulvar/store-conformance
|
|
2
|
+
|
|
3
|
+
The executable conformance kit for rulvar store adapters: append
|
|
4
|
+
atomicity, total per-run order, read-your-writes, payload opacity, lease
|
|
5
|
+
fencing, and golden fold-state fixtures. If you implement a custom
|
|
6
|
+
store, this suite is the contract your implementation must pass. Exports
|
|
7
|
+
`journalStoreConformance`, `leasableStoreConformance`, and
|
|
8
|
+
`registerConformance`.
|
|
9
|
+
|
|
10
|
+
Part of [rulvar](https://rulvar.com), an embeddable TypeScript engine
|
|
11
|
+
for durable, budget-bounded multi-agent LLM workflows, where a completed
|
|
12
|
+
LLM call is never paid for twice. Full documentation:
|
|
13
|
+
[docs.rulvar.com](https://docs.rulvar.com).
|
|
14
|
+
|
|
15
|
+
## Install
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
pnpm add -D @rulvar/store-conformance
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Documentation
|
|
22
|
+
|
|
23
|
+
- [Store authors](https://docs.rulvar.com/guide/store-authors)
|
|
24
|
+
- [Stores](https://docs.rulvar.com/guide/stores)
|
|
25
|
+
- [API reference](https://docs.rulvar.com/api/%40rulvar/store-conformance/)
|
|
26
|
+
|
|
27
|
+
## License
|
|
28
|
+
|
|
29
|
+
[Apache-2.0](https://github.com/o-stepper/rulvar/blob/main/LICENSE)
|
package/dist/index.js
CHANGED
|
@@ -362,6 +362,13 @@ function journalStoreConformance(mk) {
|
|
|
362
362
|
ensure(byName.length === 1 && byName[0]?.runId === "other-run", "meta-separation", "listRuns must honor the name filter");
|
|
363
363
|
const byTag = await store.listRuns({ tags: ["team:core"] });
|
|
364
364
|
ensure(byTag.length === 1 && byTag[0]?.runId === RUN$1, "meta-separation", "listRuns must honor the tags filter");
|
|
365
|
+
await store.putMeta(meta(RUN$1, {
|
|
366
|
+
status: "suspended",
|
|
367
|
+
name: "wf-a",
|
|
368
|
+
tags: ["team:core"],
|
|
369
|
+
budgetUsd: 12.5
|
|
370
|
+
}));
|
|
371
|
+
ensure((await store.listRuns()).find((candidate) => candidate.runId === RUN$1)?.budgetUsd === 12.5, "meta-separation", "putMeta/listRuns must round-trip optional RunMeta fields (budgetUsd)");
|
|
365
372
|
await store.delete(RUN$1);
|
|
366
373
|
ensure((await store.load(RUN$1)).length === 0 && !(await store.listRuns()).some((candidate) => candidate.runId === RUN$1), "meta-separation", "delete must remove the journal and the meta record");
|
|
367
374
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rulvar/store-conformance",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"description": "rulvar executable store conformance kit (DEF-4).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"access": "public"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@rulvar/core": "1.
|
|
25
|
+
"@rulvar/core": "1.4.0"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@types/node": "^22.20.0",
|