flowproof 0.0.1 → 0.6.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 +15 -6
- package/bin/flowproof.js +53 -0
- package/index.js +6 -13
- package/package.json +20 -6
package/README.md
CHANGED
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
# flowproof
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
A generic open-source automation framework for the AI-agent era:
|
|
4
|
+
automated testing and agentic process automation across web, desktop,
|
|
5
|
+
and Citrix. Agents author flows from natural-language intent; a
|
|
6
|
+
deterministic engine executes them.
|
|
4
7
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
and heals tests; a deterministic engine replays them in CI.
|
|
8
|
+
This package ships the `flowproof` CLI as platform-native binaries
|
|
9
|
+
(linux-x64, darwin-x64/arm64, win32-x64) — no Python required:
|
|
8
10
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
+
```bash
|
|
12
|
+
npx flowproof --version
|
|
13
|
+
npx flowproof record my.flow.yaml
|
|
14
|
+
npx flowproof run specs/
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
The Python SDK (`pip install flowproof`) remains the primary SDK and
|
|
18
|
+
adds the programmatic API and MCP server. Docs and source:
|
|
19
|
+
[github.com/automators-com/flowproof](https://github.com/automators-com/flowproof)
|
package/bin/flowproof.js
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// Thin launcher: the real `flowproof` CLI is a platform-native Rust binary
|
|
3
|
+
// shipped in a per-platform optional dependency; this resolves the right
|
|
4
|
+
// one and passes everything through untouched.
|
|
5
|
+
"use strict";
|
|
6
|
+
|
|
7
|
+
const { spawnSync } = require("node:child_process");
|
|
8
|
+
const path = require("node:path");
|
|
9
|
+
|
|
10
|
+
// Scoped names: the unscoped ones tripped npm's spam heuristic for new
|
|
11
|
+
// packages and could not be published at all. Keep these in step with
|
|
12
|
+
// package.json's optionalDependencies - test/launcher.test.js fails if they
|
|
13
|
+
// drift, because a mismatch here is an "unsupported platform" error for a
|
|
14
|
+
// platform that is actually supported.
|
|
15
|
+
const PLATFORM_PACKAGES = {
|
|
16
|
+
"linux-x64": "@automators/flowproof-cli-linux-x64",
|
|
17
|
+
"darwin-x64": "@automators/flowproof-cli-darwin-x64",
|
|
18
|
+
"darwin-arm64": "@automators/flowproof-cli-darwin-arm64",
|
|
19
|
+
"win32-x64": "@automators/flowproof-cli-win32-x64",
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
function binaryPath() {
|
|
23
|
+
const key = `${process.platform}-${process.arch}`;
|
|
24
|
+
const pkg = PLATFORM_PACKAGES[key];
|
|
25
|
+
if (!pkg) {
|
|
26
|
+
console.error(
|
|
27
|
+
`flowproof: no prebuilt binary for ${key}.\n` +
|
|
28
|
+
`Supported: ${Object.keys(PLATFORM_PACKAGES).join(", ")}.\n` +
|
|
29
|
+
`On other platforms, install via pip instead: pip install flowproof`
|
|
30
|
+
);
|
|
31
|
+
process.exit(2);
|
|
32
|
+
}
|
|
33
|
+
const file = process.platform === "win32" ? "flowproof.exe" : "flowproof";
|
|
34
|
+
try {
|
|
35
|
+
return path.join(path.dirname(require.resolve(`${pkg}/package.json`)), file);
|
|
36
|
+
} catch {
|
|
37
|
+
console.error(
|
|
38
|
+
`flowproof: platform package ${pkg} is not installed.\n` +
|
|
39
|
+
`Your package manager may have skipped optional dependencies — ` +
|
|
40
|
+
`reinstall without --no-optional (or use: pip install flowproof).`
|
|
41
|
+
);
|
|
42
|
+
process.exit(2);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const result = spawnSync(binaryPath(), process.argv.slice(2), {
|
|
47
|
+
stdio: "inherit",
|
|
48
|
+
});
|
|
49
|
+
if (result.error) {
|
|
50
|
+
console.error(`flowproof: failed to start the native binary: ${result.error.message}`);
|
|
51
|
+
process.exit(2);
|
|
52
|
+
}
|
|
53
|
+
process.exit(result.status === null ? 2 : result.status);
|
package/index.js
CHANGED
|
@@ -1,13 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
*
|
|
8
|
-
* This is a placeholder release. See https://github.com/automators-com/flowproof
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
module.exports = {
|
|
12
|
-
version: "0.0.1",
|
|
13
|
-
};
|
|
1
|
+
// CLI-only distribution: the `flowproof` command (bin/flowproof.js) runs a
|
|
2
|
+
// platform-native binary from the optional dependencies. For a
|
|
3
|
+
// programmatic API use the Python SDK — `pip install flowproof` — which is
|
|
4
|
+
// the primary SDK.
|
|
5
|
+
"use strict";
|
|
6
|
+
module.exports = {};
|
package/package.json
CHANGED
|
@@ -1,23 +1,37 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "flowproof",
|
|
3
|
-
"version": "0.0
|
|
4
|
-
"description": "
|
|
5
|
-
"
|
|
3
|
+
"version": "0.6.0",
|
|
4
|
+
"description": "Generic open-source automation framework for the AI-agent era: automated testing and agentic process automation across web, desktop, and Citrix.",
|
|
5
|
+
"bin": {
|
|
6
|
+
"flowproof": "bin/flowproof.js"
|
|
7
|
+
},
|
|
6
8
|
"files": [
|
|
9
|
+
"bin/flowproof.js",
|
|
7
10
|
"index.js"
|
|
8
11
|
],
|
|
12
|
+
"main": "index.js",
|
|
13
|
+
"engines": {
|
|
14
|
+
"node": ">=18"
|
|
15
|
+
},
|
|
16
|
+
"optionalDependencies": {
|
|
17
|
+
"@automators/flowproof-cli-linux-x64": "0.6.0",
|
|
18
|
+
"@automators/flowproof-cli-darwin-x64": "0.6.0",
|
|
19
|
+
"@automators/flowproof-cli-darwin-arm64": "0.6.0",
|
|
20
|
+
"@automators/flowproof-cli-win32-x64": "0.6.0"
|
|
21
|
+
},
|
|
9
22
|
"repository": {
|
|
10
23
|
"type": "git",
|
|
11
24
|
"url": "git+https://github.com/automators-com/flowproof.git"
|
|
12
25
|
},
|
|
13
26
|
"homepage": "https://github.com/automators-com/flowproof",
|
|
14
27
|
"keywords": [
|
|
15
|
-
"
|
|
28
|
+
"test-automation",
|
|
16
29
|
"testing",
|
|
30
|
+
"automation",
|
|
31
|
+
"ai-agents",
|
|
17
32
|
"sap-gui",
|
|
18
33
|
"citrix",
|
|
19
|
-
"windows"
|
|
20
|
-
"automation"
|
|
34
|
+
"windows"
|
|
21
35
|
],
|
|
22
36
|
"author": "Automators <hello@automators.com>",
|
|
23
37
|
"license": "Apache-2.0"
|