flowproof 0.12.2__tar.gz → 0.14.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.
Files changed (129) hide show
  1. {flowproof-0.12.2 → flowproof-0.14.0}/Cargo.lock +7 -7
  2. {flowproof-0.12.2 → flowproof-0.14.0}/Cargo.toml +1 -1
  3. {flowproof-0.12.2 → flowproof-0.14.0}/PKG-INFO +1 -1
  4. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/egress_linux.rs +9 -0
  5. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/sap_com.rs +577 -88
  6. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/web.rs +370 -42
  7. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-agent/src/author.rs +296 -6
  8. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-agent/src/heal.rs +5 -0
  9. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-agent/src/lib.rs +5 -2
  10. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-agent/src/llm.rs +28 -8
  11. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-agent/src/recorder.rs +471 -22
  12. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-agent/src/rules.rs +18 -0
  13. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-agent/src/spec.rs +868 -10
  14. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-agent/tests/model_client_http.rs +30 -0
  15. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/src/lib.rs +564 -43
  16. flowproof-0.14.0/crates/flowproof-cli/tests/documented_flags.rs +113 -0
  17. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/llm_author_e2e.rs +152 -0
  18. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/sap_e2e.rs +1 -1
  19. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/sap_pipeline.rs +99 -0
  20. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/sap_sim_e2e.rs +34 -0
  21. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/support/sap_simulator.py +76 -30
  22. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/web_e2e.rs +130 -0
  23. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-driver/src/app.rs +110 -0
  24. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-driver/src/lib.rs +12 -9
  25. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-driver/src/recording.rs +360 -10
  26. flowproof-0.14.0/crates/flowproof-driver/src/surface.rs +374 -0
  27. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-python/src/lib.rs +58 -6
  28. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-replay/src/lib.rs +164 -40
  29. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-replay/src/report.rs +72 -5
  30. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-replay/tests/replay_calc.rs +585 -1
  31. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-trace/schema/trace-v1.schema.json +155 -94
  32. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-trace/src/format.rs +46 -0
  33. flowproof-0.14.0/crates/flowproof-trace/tests/fixtures/multi.trace.jsonl +5 -0
  34. flowproof-0.14.0/crates/flowproof-trace/tests/schema_conformance.rs +141 -0
  35. {flowproof-0.12.2 → flowproof-0.14.0}/flowproof/__init__.py +1 -1
  36. {flowproof-0.12.2 → flowproof-0.14.0}/flowproof/flow.py +62 -8
  37. {flowproof-0.12.2 → flowproof-0.14.0}/flowproof/mcp_server.py +29 -6
  38. {flowproof-0.12.2 → flowproof-0.14.0}/pyproject.toml +1 -1
  39. flowproof-0.12.2/crates/flowproof-trace/tests/schema_conformance.rs +0 -67
  40. {flowproof-0.12.2 → flowproof-0.14.0}/README.md +0 -0
  41. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/Cargo.toml +0 -0
  42. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/agent_proxy.rs +0 -0
  43. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/agent_runner.rs +0 -0
  44. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/egress.rs +0 -0
  45. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/egress_windows/audit.rs +0 -0
  46. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/egress_windows/capture.rs +0 -0
  47. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/egress_windows/env_block.rs +0 -0
  48. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/egress_windows/filters.rs +0 -0
  49. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/egress_windows/identity.rs +0 -0
  50. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/egress_windows/logon.rs +0 -0
  51. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/egress_windows/netevents.rs +0 -0
  52. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/egress_windows/run.rs +0 -0
  53. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/egress_windows/spawn.rs +0 -0
  54. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/egress_windows/wfp.rs +0 -0
  55. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/egress_windows.rs +0 -0
  56. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/fs_observe.rs +0 -0
  57. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/lib.rs +0 -0
  58. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/mcp_core.rs +0 -0
  59. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/mcp_http.rs +0 -0
  60. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/mcp_stdio.rs +0 -0
  61. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/vision.rs +0 -0
  62. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/tests/drag_spike.rs +0 -0
  63. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/tests/fs_observation_e2e.rs +0 -0
  64. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/tests/windows_containment_e2e.rs +0 -0
  65. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-agent/Cargo.toml +0 -0
  66. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-agent/src/agent_steps.rs +0 -0
  67. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-agent/src/clarify.rs +0 -0
  68. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/Cargo.toml +0 -0
  69. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/src/agent_flow.rs +0 -0
  70. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/src/capture.rs +0 -0
  71. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/src/main.rs +0 -0
  72. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/agent_flow_e2e.rs +0 -0
  73. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/agent_url_record_e2e.rs +0 -0
  74. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/api_pipeline.rs +0 -0
  75. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/audit_record_e2e.rs +0 -0
  76. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/calc_e2e.rs +0 -0
  77. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/clock_e2e.rs +0 -0
  78. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/cookie_e2e.rs +0 -0
  79. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/doctor_e2e.rs +0 -0
  80. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/egress_e2e.rs +0 -0
  81. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/examples_resolve.rs +0 -0
  82. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/falsifiability_arg_matchers.rs +0 -0
  83. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/falsifiability_audit_since.rs +0 -0
  84. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/falsifiability_call_order.rs +0 -0
  85. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/falsifiability_capability_regression.rs +0 -0
  86. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/falsifiability_control_verdict.rs +0 -0
  87. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/falsifiability_mcp_kill.rs +0 -0
  88. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/falsifiability_no_tool_call.rs +0 -0
  89. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/falsifiability_reply_contains.rs +0 -0
  90. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/grid_cell_e2e.rs +0 -0
  91. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/iframe_e2e.rs +0 -0
  92. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/mcp_http_e2e.rs +0 -0
  93. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/mcp_stdio_e2e.rs +0 -0
  94. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/notepad_author_e2e.rs +0 -0
  95. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/notepad_e2e.rs +0 -0
  96. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/page_title_e2e.rs +0 -0
  97. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/pinned_random_e2e.rs +0 -0
  98. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/scoped_container_e2e.rs +0 -0
  99. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/select_missing_option_e2e.rs +0 -0
  100. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/skip_unless_env.rs +0 -0
  101. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/suite_env_from.rs +0 -0
  102. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/suite_flow_isolation.rs +0 -0
  103. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/suite_missing_trace.rs +0 -0
  104. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/visibility_e2e.rs +0 -0
  105. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/vision_pipeline.rs +0 -0
  106. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-driver/Cargo.toml +0 -0
  107. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-driver/src/backend.rs +0 -0
  108. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-driver/src/gdi.rs +0 -0
  109. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-driver/src/mock.rs +0 -0
  110. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-driver/src/oob.rs +0 -0
  111. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-driver/src/redact.rs +0 -0
  112. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-driver/src/visual.rs +0 -0
  113. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-driver/src/window.rs +0 -0
  114. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-python/Cargo.toml +0 -0
  115. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-replay/Cargo.toml +0 -0
  116. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-replay/src/runrecord.rs +0 -0
  117. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-trace/Cargo.toml +0 -0
  118. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-trace/src/captures.rs +0 -0
  119. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-trace/src/cassette.rs +0 -0
  120. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-trace/src/cassette_diff.rs +0 -0
  121. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-trace/src/egress.rs +0 -0
  122. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-trace/src/lib.rs +0 -0
  123. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-trace/src/secret.rs +0 -0
  124. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-trace/src/secret_scan.rs +0 -0
  125. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-trace/src/substitution.rs +0 -0
  126. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-trace/src/toolcalls.rs +0 -0
  127. {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-trace/tests/fixtures/sample.trace.jsonl +0 -0
  128. {flowproof-0.12.2 → flowproof-0.14.0}/flowproof/cli.py +0 -0
  129. {flowproof-0.12.2 → flowproof-0.14.0}/flowproof/py.typed +0 -0
@@ -760,7 +760,7 @@ dependencies = [
760
760
 
761
761
  [[package]]
762
762
  name = "flowproof-adapters"
763
- version = "0.12.2"
763
+ version = "0.14.0"
764
764
  dependencies = [
765
765
  "anyhow",
766
766
  "flowproof-driver",
@@ -779,7 +779,7 @@ dependencies = [
779
779
 
780
780
  [[package]]
781
781
  name = "flowproof-agent"
782
- version = "0.12.2"
782
+ version = "0.14.0"
783
783
  dependencies = [
784
784
  "chrono",
785
785
  "flowproof-driver",
@@ -796,7 +796,7 @@ dependencies = [
796
796
 
797
797
  [[package]]
798
798
  name = "flowproof-cli"
799
- version = "0.12.2"
799
+ version = "0.14.0"
800
800
  dependencies = [
801
801
  "ab_glyph",
802
802
  "chrono",
@@ -817,7 +817,7 @@ dependencies = [
817
817
 
818
818
  [[package]]
819
819
  name = "flowproof-driver"
820
- version = "0.12.2"
820
+ version = "0.14.0"
821
821
  dependencies = [
822
822
  "image",
823
823
  "postgres",
@@ -831,7 +831,7 @@ dependencies = [
831
831
 
832
832
  [[package]]
833
833
  name = "flowproof-python"
834
- version = "0.12.2"
834
+ version = "0.14.0"
835
835
  dependencies = [
836
836
  "flowproof-agent",
837
837
  "flowproof-cli",
@@ -843,7 +843,7 @@ dependencies = [
843
843
 
844
844
  [[package]]
845
845
  name = "flowproof-replay"
846
- version = "0.12.2"
846
+ version = "0.14.0"
847
847
  dependencies = [
848
848
  "chrono",
849
849
  "flowproof-agent",
@@ -857,7 +857,7 @@ dependencies = [
857
857
 
858
858
  [[package]]
859
859
  name = "flowproof-trace"
860
- version = "0.12.2"
860
+ version = "0.14.0"
861
861
  dependencies = [
862
862
  "jsonschema",
863
863
  "regex",
@@ -22,7 +22,7 @@ members = ["crates/flowproof-driver", "crates/flowproof-trace", "crates/flowproo
22
22
  exclude = ["spike/windows-containment"]
23
23
 
24
24
  [workspace.package]
25
- version = "0.12.2"
25
+ version = "0.14.0"
26
26
  edition = "2021"
27
27
  license = "Apache-2.0"
28
28
  repository = "https://github.com/automators-com/flowproof"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flowproof
3
- Version: 0.12.2
3
+ Version: 0.14.0
4
4
  Classifier: Development Status :: 2 - Pre-Alpha
5
5
  Classifier: Intended Audience :: Developers
6
6
  Classifier: Programming Language :: Python :: 3
@@ -1465,6 +1465,12 @@ fn notif_id_valid(fd: RawFd, id: u64) -> bool {
1465
1465
  }
1466
1466
 
1467
1467
  /// Extract `(msg_name, msg_namelen, msg_controllen)` from a raw msghdr copy.
1468
+ // `msg_controllen` is not the same type on every Linux target: `size_t` under
1469
+ // glibc, `socklen_t` under uclibc/arm and l4re. Clippy only ever sees the
1470
+ // target it is running on, so on x86_64-gnu it calls the cast redundant. It is
1471
+ // load-bearing everywhere else - libc writes the same `as usize` in its own
1472
+ // portable CMSG helpers. Removing it breaks those targets.
1473
+ #[allow(clippy::unnecessary_cast)]
1468
1474
  fn msghdr_fields(hdr: &[u8]) -> (u64, u32, usize) {
1469
1475
  let msg: libc::msghdr =
1470
1476
  unsafe { std::ptr::read_unaligned(hdr.as_ptr() as *const libc::msghdr) };
@@ -1476,6 +1482,9 @@ fn msghdr_fields(hdr: &[u8]) -> (u64, u32, usize) {
1476
1482
  }
1477
1483
 
1478
1484
  /// Extract `(msg_iov ptr, msg_iovlen)` from a raw msghdr copy.
1485
+ // Same story as `msghdr_fields`: `msg_iovlen` is `size_t` under glibc and
1486
+ // `c_int` under uclibc/arm, uclibc/mips32, l4re and emscripten.
1487
+ #[allow(clippy::unnecessary_cast)]
1479
1488
  fn msghdr_iov(hdr: &[u8]) -> (u64, usize) {
1480
1489
  let msg: libc::msghdr =
1481
1490
  unsafe { std::ptr::read_unaligned(hdr.as_ptr() as *const libc::msghdr) };