flowproof 0.6.1 → 0.8.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 +4 -2
- package/bin/flowproof.js +19 -0
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -17,5 +17,7 @@ npx flowproof run specs/
|
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
The Python SDK (`pip install flowproof`) remains the primary SDK and
|
|
20
|
-
adds the programmatic API and MCP server. Docs
|
|
21
|
-
|
|
20
|
+
adds the programmatic API and MCP server. Docs: [agent testing](https://github.com/automators-com/flowproof/blob/main/docs/agent-testing.md)
|
|
21
|
+
(the runtime contract, assertion grammar, and the model-vs-MCP boundary) and
|
|
22
|
+
[getting started](https://github.com/automators-com/flowproof/blob/main/docs/getting-started.md).
|
|
23
|
+
Source: [github.com/automators-com/flowproof](https://github.com/automators-com/flowproof)
|
package/bin/flowproof.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
const { spawnSync } = require("node:child_process");
|
|
8
8
|
const path = require("node:path");
|
|
9
|
+
const fs = require("node:fs");
|
|
9
10
|
|
|
10
11
|
// Scoped names: the unscoped ones tripped npm's spam heuristic for new
|
|
11
12
|
// packages and could not be published at all. Keep these in step with
|
|
@@ -20,6 +21,24 @@ const PLATFORM_PACKAGES = {
|
|
|
20
21
|
};
|
|
21
22
|
|
|
22
23
|
function binaryPath() {
|
|
24
|
+
// An explicit binary wins over the resolved platform package. This is
|
|
25
|
+
// what makes a tight adopter loop possible: a team hitting a gap can
|
|
26
|
+
// point at a build from a branch or a CI artifact and keep testing,
|
|
27
|
+
// instead of waiting for a release for every fix. It is a development
|
|
28
|
+
// handle, so it is deliberately loud - a silently swapped engine would
|
|
29
|
+
// make a green run mean nothing.
|
|
30
|
+
const override = process.env.FLOWPROOF_BIN;
|
|
31
|
+
if (override) {
|
|
32
|
+
if (!fs.existsSync(override)) {
|
|
33
|
+
console.error(
|
|
34
|
+
`flowproof: FLOWPROOF_BIN points at ${override}, which does not exist.`
|
|
35
|
+
);
|
|
36
|
+
process.exit(2);
|
|
37
|
+
}
|
|
38
|
+
console.error(`flowproof: using FLOWPROOF_BIN=${override}`);
|
|
39
|
+
return override;
|
|
40
|
+
}
|
|
41
|
+
|
|
23
42
|
const key = `${process.platform}-${process.arch}`;
|
|
24
43
|
const pkg = PLATFORM_PACKAGES[key];
|
|
25
44
|
if (!pkg) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "flowproof",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "Deterministic tests for AI agents: record a run once, replay it with zero LLM calls. Assert which tools an agent called, with which arguments, in which order.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"flowproof": "bin/flowproof.js"
|
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
"node": ">=18"
|
|
15
15
|
},
|
|
16
16
|
"optionalDependencies": {
|
|
17
|
-
"@automators/flowproof-cli-linux-x64": "0.
|
|
18
|
-
"@automators/flowproof-cli-darwin-x64": "0.
|
|
19
|
-
"@automators/flowproof-cli-darwin-arm64": "0.
|
|
20
|
-
"@automators/flowproof-cli-win32-x64": "0.
|
|
17
|
+
"@automators/flowproof-cli-linux-x64": "0.8.0",
|
|
18
|
+
"@automators/flowproof-cli-darwin-x64": "0.8.0",
|
|
19
|
+
"@automators/flowproof-cli-darwin-arm64": "0.8.0",
|
|
20
|
+
"@automators/flowproof-cli-win32-x64": "0.8.0"
|
|
21
21
|
},
|
|
22
22
|
"repository": {
|
|
23
23
|
"type": "git",
|