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 CHANGED
@@ -1,10 +1,19 @@
1
1
  # flowproof
2
2
 
3
- AI-native E2E testing for the apps Selenium can't reach.
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
- FlowProof is an open-source, AI-native end-to-end testing framework for
6
- enterprise Windows apps (SAP GUI, Oracle, Citrix, legacy desktop). AI authors
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
- **This is a placeholder release** reserving the package name. Follow
10
- development at [github.com/automators-com/flowproof](https://github.com/automators-com/flowproof).
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)
@@ -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
- * FlowProof — AI-native E2E testing for the apps Selenium can't reach.
3
- *
4
- * Open-source AI-native E2E testing framework for enterprise Windows apps
5
- * (SAP GUI, Oracle, Citrix, legacy desktop). AI authors and heals tests;
6
- * a deterministic engine replays them in CI.
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.1",
4
- "description": "AI-native E2E testing for the apps Selenium can't reach. Placeholder release — see github.com/automators-com/flowproof",
5
- "main": "index.js",
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
- "e2e",
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"