flowproof 0.3.1__tar.gz → 0.4.0__tar.gz
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.
- {flowproof-0.3.1 → flowproof-0.4.0}/Cargo.lock +76 -7
- {flowproof-0.3.1 → flowproof-0.4.0}/Cargo.toml +1 -1
- {flowproof-0.3.1 → flowproof-0.4.0}/PKG-INFO +1 -1
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-adapters/Cargo.toml +10 -0
- flowproof-0.4.0/crates/flowproof-adapters/src/agent_proxy.rs +2093 -0
- flowproof-0.4.0/crates/flowproof-adapters/src/agent_runner.rs +893 -0
- flowproof-0.4.0/crates/flowproof-adapters/src/egress.rs +260 -0
- flowproof-0.4.0/crates/flowproof-adapters/src/egress_linux.rs +1042 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-adapters/src/lib.rs +29 -0
- flowproof-0.4.0/crates/flowproof-adapters/src/mcp_core.rs +374 -0
- flowproof-0.4.0/crates/flowproof-adapters/src/mcp_http.rs +1592 -0
- flowproof-0.4.0/crates/flowproof-adapters/src/mcp_stdio.rs +641 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-adapters/src/sap_com.rs +15 -3
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-adapters/src/web.rs +398 -1
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-agent/src/lib.rs +1 -1
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-agent/src/recorder.rs +597 -1
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-agent/src/rules.rs +1248 -46
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-agent/src/spec.rs +639 -27
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-cli/Cargo.toml +5 -0
- flowproof-0.4.0/crates/flowproof-cli/src/agent_flow.rs +2032 -0
- flowproof-0.4.0/crates/flowproof-cli/src/capture.rs +542 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-cli/src/lib.rs +78 -3
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-cli/tests/agent_flow_e2e.rs +14 -0
- flowproof-0.4.0/crates/flowproof-cli/tests/egress_e2e.rs +339 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-cli/tests/llm_author_e2e.rs +1 -0
- flowproof-0.4.0/crates/flowproof-cli/tests/mcp_stdio_e2e.rs +637 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-cli/tests/notepad_author_e2e.rs +1 -0
- flowproof-0.4.0/crates/flowproof-cli/tests/scoped_container_e2e.rs +249 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-cli/tests/web_e2e.rs +102 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-driver/src/app.rs +492 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-driver/src/lib.rs +6 -4
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-driver/src/mock.rs +102 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-replay/src/lib.rs +267 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-trace/src/cassette.rs +121 -23
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-trace/src/cassette_diff.rs +2 -0
- flowproof-0.4.0/crates/flowproof-trace/src/egress.rs +379 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-trace/src/lib.rs +1 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-trace/src/substitution.rs +172 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/flowproof/__init__.py +1 -1
- {flowproof-0.3.1 → flowproof-0.4.0}/pyproject.toml +1 -1
- flowproof-0.3.1/crates/flowproof-adapters/src/agent_proxy.rs +0 -989
- flowproof-0.3.1/crates/flowproof-adapters/src/agent_runner.rs +0 -478
- flowproof-0.3.1/crates/flowproof-cli/src/agent_flow.rs +0 -304
- {flowproof-0.3.1 → flowproof-0.4.0}/README.md +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-adapters/src/vision.rs +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-agent/Cargo.toml +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-agent/src/agent_steps.rs +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-agent/src/author.rs +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-agent/src/clarify.rs +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-agent/src/heal.rs +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-agent/src/llm.rs +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-cli/src/main.rs +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-cli/tests/api_pipeline.rs +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-cli/tests/calc_e2e.rs +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-cli/tests/clock_e2e.rs +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-cli/tests/examples_resolve.rs +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-cli/tests/grid_cell_e2e.rs +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-cli/tests/notepad_e2e.rs +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-cli/tests/sap_e2e.rs +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-cli/tests/sap_pipeline.rs +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-cli/tests/sap_sim_e2e.rs +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-cli/tests/skip_unless_env.rs +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-cli/tests/suite_env_from.rs +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-cli/tests/suite_flow_isolation.rs +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-cli/tests/suite_missing_trace.rs +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-cli/tests/support/sap_simulator.py +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-cli/tests/vision_pipeline.rs +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-driver/Cargo.toml +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-driver/src/backend.rs +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-driver/src/gdi.rs +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-driver/src/oob.rs +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-driver/src/recording.rs +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-driver/src/redact.rs +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-driver/src/visual.rs +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-driver/src/window.rs +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-python/Cargo.toml +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-python/src/lib.rs +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-replay/Cargo.toml +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-replay/src/report.rs +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-replay/tests/replay_calc.rs +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-trace/Cargo.toml +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-trace/schema/trace-v1.schema.json +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-trace/src/format.rs +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-trace/src/secret.rs +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-trace/src/toolcalls.rs +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-trace/tests/fixtures/sample.trace.jsonl +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/crates/flowproof-trace/tests/schema_conformance.rs +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/flowproof/cli.py +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/flowproof/flow.py +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/flowproof/mcp_server.py +0 -0
- {flowproof-0.3.1 → flowproof-0.4.0}/flowproof/py.typed +0 -0
|
@@ -209,6 +209,15 @@ dependencies = [
|
|
|
209
209
|
"hybrid-array",
|
|
210
210
|
]
|
|
211
211
|
|
|
212
|
+
[[package]]
|
|
213
|
+
name = "block2"
|
|
214
|
+
version = "0.6.2"
|
|
215
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
216
|
+
checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5"
|
|
217
|
+
dependencies = [
|
|
218
|
+
"objc2",
|
|
219
|
+
]
|
|
220
|
+
|
|
212
221
|
[[package]]
|
|
213
222
|
name = "borrow-or-share"
|
|
214
223
|
version = "0.2.4"
|
|
@@ -273,6 +282,12 @@ version = "1.0.4"
|
|
|
273
282
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
274
283
|
checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
|
|
275
284
|
|
|
285
|
+
[[package]]
|
|
286
|
+
name = "cfg_aliases"
|
|
287
|
+
version = "0.2.2"
|
|
288
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
289
|
+
checksum = "f079e83a288787bcd14a6aea84cee5c87a67c5a3e660c30f557a3d24761b3527"
|
|
290
|
+
|
|
276
291
|
[[package]]
|
|
277
292
|
name = "chacha20"
|
|
278
293
|
version = "0.10.1"
|
|
@@ -502,6 +517,17 @@ dependencies = [
|
|
|
502
517
|
"hybrid-array",
|
|
503
518
|
]
|
|
504
519
|
|
|
520
|
+
[[package]]
|
|
521
|
+
name = "ctrlc"
|
|
522
|
+
version = "3.5.2"
|
|
523
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
524
|
+
checksum = "e0b1fab2ae45819af2d0731d60f2afe17227ebb1a1538a236da84c93e9a60162"
|
|
525
|
+
dependencies = [
|
|
526
|
+
"dispatch2",
|
|
527
|
+
"nix",
|
|
528
|
+
"windows-sys 0.61.2",
|
|
529
|
+
]
|
|
530
|
+
|
|
505
531
|
[[package]]
|
|
506
532
|
name = "ctutils"
|
|
507
533
|
version = "0.4.2"
|
|
@@ -611,6 +637,18 @@ dependencies = [
|
|
|
611
637
|
"ctutils",
|
|
612
638
|
]
|
|
613
639
|
|
|
640
|
+
[[package]]
|
|
641
|
+
name = "dispatch2"
|
|
642
|
+
version = "0.3.1"
|
|
643
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
644
|
+
checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38"
|
|
645
|
+
dependencies = [
|
|
646
|
+
"bitflags 2.13.1",
|
|
647
|
+
"block2",
|
|
648
|
+
"libc",
|
|
649
|
+
"objc2",
|
|
650
|
+
]
|
|
651
|
+
|
|
614
652
|
[[package]]
|
|
615
653
|
name = "displaydoc"
|
|
616
654
|
version = "0.2.6"
|
|
@@ -722,15 +760,17 @@ dependencies = [
|
|
|
722
760
|
|
|
723
761
|
[[package]]
|
|
724
762
|
name = "flowproof-adapters"
|
|
725
|
-
version = "0.
|
|
763
|
+
version = "0.4.0"
|
|
726
764
|
dependencies = [
|
|
727
765
|
"anyhow",
|
|
728
766
|
"flowproof-driver",
|
|
729
767
|
"flowproof-trace",
|
|
730
768
|
"headless_chrome",
|
|
731
769
|
"image",
|
|
770
|
+
"libc",
|
|
732
771
|
"ocrs",
|
|
733
772
|
"rten",
|
|
773
|
+
"serde",
|
|
734
774
|
"serde_json",
|
|
735
775
|
"thiserror 2.0.18",
|
|
736
776
|
"ureq",
|
|
@@ -739,7 +779,7 @@ dependencies = [
|
|
|
739
779
|
|
|
740
780
|
[[package]]
|
|
741
781
|
name = "flowproof-agent"
|
|
742
|
-
version = "0.
|
|
782
|
+
version = "0.4.0"
|
|
743
783
|
dependencies = [
|
|
744
784
|
"chrono",
|
|
745
785
|
"flowproof-driver",
|
|
@@ -755,10 +795,12 @@ dependencies = [
|
|
|
755
795
|
|
|
756
796
|
[[package]]
|
|
757
797
|
name = "flowproof-cli"
|
|
758
|
-
version = "0.
|
|
798
|
+
version = "0.4.0"
|
|
759
799
|
dependencies = [
|
|
760
800
|
"ab_glyph",
|
|
801
|
+
"chrono",
|
|
761
802
|
"clap",
|
|
803
|
+
"ctrlc",
|
|
762
804
|
"flowproof-adapters",
|
|
763
805
|
"flowproof-agent",
|
|
764
806
|
"flowproof-driver",
|
|
@@ -774,7 +816,7 @@ dependencies = [
|
|
|
774
816
|
|
|
775
817
|
[[package]]
|
|
776
818
|
name = "flowproof-driver"
|
|
777
|
-
version = "0.
|
|
819
|
+
version = "0.4.0"
|
|
778
820
|
dependencies = [
|
|
779
821
|
"image",
|
|
780
822
|
"postgres",
|
|
@@ -788,7 +830,7 @@ dependencies = [
|
|
|
788
830
|
|
|
789
831
|
[[package]]
|
|
790
832
|
name = "flowproof-python"
|
|
791
|
-
version = "0.
|
|
833
|
+
version = "0.4.0"
|
|
792
834
|
dependencies = [
|
|
793
835
|
"flowproof-agent",
|
|
794
836
|
"flowproof-cli",
|
|
@@ -800,7 +842,7 @@ dependencies = [
|
|
|
800
842
|
|
|
801
843
|
[[package]]
|
|
802
844
|
name = "flowproof-replay"
|
|
803
|
-
version = "0.
|
|
845
|
+
version = "0.4.0"
|
|
804
846
|
dependencies = [
|
|
805
847
|
"chrono",
|
|
806
848
|
"flowproof-agent",
|
|
@@ -814,7 +856,7 @@ dependencies = [
|
|
|
814
856
|
|
|
815
857
|
[[package]]
|
|
816
858
|
name = "flowproof-trace"
|
|
817
|
-
version = "0.
|
|
859
|
+
version = "0.4.0"
|
|
818
860
|
dependencies = [
|
|
819
861
|
"jsonschema",
|
|
820
862
|
"regex",
|
|
@@ -1465,6 +1507,18 @@ dependencies = [
|
|
|
1465
1507
|
"typenum",
|
|
1466
1508
|
]
|
|
1467
1509
|
|
|
1510
|
+
[[package]]
|
|
1511
|
+
name = "nix"
|
|
1512
|
+
version = "0.31.3"
|
|
1513
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1514
|
+
checksum = "cf20d2fde8ff38632c426f1165ed7436270b44f199fc55284c38276f9db47c3d"
|
|
1515
|
+
dependencies = [
|
|
1516
|
+
"bitflags 2.13.1",
|
|
1517
|
+
"cfg-if",
|
|
1518
|
+
"cfg_aliases",
|
|
1519
|
+
"libc",
|
|
1520
|
+
]
|
|
1521
|
+
|
|
1468
1522
|
[[package]]
|
|
1469
1523
|
name = "num"
|
|
1470
1524
|
version = "0.4.3"
|
|
@@ -1560,6 +1614,15 @@ dependencies = [
|
|
|
1560
1614
|
"libc",
|
|
1561
1615
|
]
|
|
1562
1616
|
|
|
1617
|
+
[[package]]
|
|
1618
|
+
name = "objc2"
|
|
1619
|
+
version = "0.6.4"
|
|
1620
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1621
|
+
checksum = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f"
|
|
1622
|
+
dependencies = [
|
|
1623
|
+
"objc2-encode",
|
|
1624
|
+
]
|
|
1625
|
+
|
|
1563
1626
|
[[package]]
|
|
1564
1627
|
name = "objc2-core-foundation"
|
|
1565
1628
|
version = "0.3.2"
|
|
@@ -1569,6 +1632,12 @@ dependencies = [
|
|
|
1569
1632
|
"bitflags 2.13.1",
|
|
1570
1633
|
]
|
|
1571
1634
|
|
|
1635
|
+
[[package]]
|
|
1636
|
+
name = "objc2-encode"
|
|
1637
|
+
version = "4.1.0"
|
|
1638
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1639
|
+
checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33"
|
|
1640
|
+
|
|
1572
1641
|
[[package]]
|
|
1573
1642
|
name = "objc2-system-configuration"
|
|
1574
1643
|
version = "0.3.2"
|
|
@@ -3,7 +3,7 @@ resolver = "2"
|
|
|
3
3
|
members = ["crates/flowproof-driver", "crates/flowproof-trace", "crates/flowproof-replay", "crates/flowproof-agent", "crates/flowproof-adapters", "crates/flowproof-cli", "crates/flowproof-python"]
|
|
4
4
|
|
|
5
5
|
[workspace.package]
|
|
6
|
-
version = "0.
|
|
6
|
+
version = "0.4.0"
|
|
7
7
|
edition = "2021"
|
|
8
8
|
license = "Apache-2.0"
|
|
9
9
|
repository = "https://github.com/automators-com/flowproof"
|
|
@@ -23,6 +23,7 @@ anyhow = { workspace = true }
|
|
|
23
23
|
flowproof-driver = { workspace = true }
|
|
24
24
|
flowproof-trace = { workspace = true }
|
|
25
25
|
headless_chrome = { version = "1", optional = true }
|
|
26
|
+
serde = { workspace = true }
|
|
26
27
|
serde_json = "1"
|
|
27
28
|
image = { version = "0.25.10", default-features = false, features = ["png"] }
|
|
28
29
|
thiserror = { workspace = true }
|
|
@@ -31,6 +32,15 @@ ocrs = { version = "0.12", optional = true }
|
|
|
31
32
|
rten = { version = "0.24", optional = true }
|
|
32
33
|
ureq = { version = "3", features = ["platform-verifier"], optional = true }
|
|
33
34
|
|
|
35
|
+
# Egress containment (`app: agent`) is a Linux-only, unprivileged seccomp
|
|
36
|
+
# user-notification supervisor. `libc` is pure Rust (no C library to link),
|
|
37
|
+
# so a non-Linux build never pulls it and a cross `cargo check --target
|
|
38
|
+
# x86_64-unknown-linux-gnu` type-checks the module off a Mac. The BPF filter
|
|
39
|
+
# is hand-built: seccompiler builds classic-BPF filters but its actions do
|
|
40
|
+
# not include SECCOMP_RET_USER_NOTIF, which this design requires.
|
|
41
|
+
[target.'cfg(target_os = "linux")'.dependencies]
|
|
42
|
+
libc = "0.2"
|
|
43
|
+
|
|
34
44
|
[target.'cfg(windows)'.dependencies]
|
|
35
45
|
windows = { version = "0.62", features = [
|
|
36
46
|
"Win32_Foundation",
|