flowproof 0.2.5__tar.gz → 0.3.1__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 (79) hide show
  1. {flowproof-0.2.5 → flowproof-0.3.1}/Cargo.lock +11 -7
  2. {flowproof-0.2.5 → flowproof-0.3.1}/Cargo.toml +2 -1
  3. {flowproof-0.2.5 → flowproof-0.3.1}/PKG-INFO +1 -1
  4. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-adapters/Cargo.toml +4 -0
  5. flowproof-0.3.1/crates/flowproof-adapters/src/agent_proxy.rs +989 -0
  6. flowproof-0.3.1/crates/flowproof-adapters/src/agent_runner.rs +478 -0
  7. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-adapters/src/lib.rs +12 -0
  8. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-adapters/src/sap_com.rs +71 -14
  9. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-adapters/src/vision.rs +445 -101
  10. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-adapters/src/web.rs +332 -0
  11. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-agent/Cargo.toml +1 -0
  12. flowproof-0.3.1/crates/flowproof-agent/src/agent_steps.rs +348 -0
  13. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-agent/src/lib.rs +1 -0
  14. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-agent/src/recorder.rs +374 -19
  15. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-agent/src/rules.rs +718 -20
  16. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-agent/src/spec.rs +660 -7
  17. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-cli/Cargo.toml +2 -1
  18. flowproof-0.3.1/crates/flowproof-cli/src/agent_flow.rs +304 -0
  19. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-cli/src/lib.rs +93 -6
  20. flowproof-0.3.1/crates/flowproof-cli/tests/agent_flow_e2e.rs +214 -0
  21. flowproof-0.3.1/crates/flowproof-cli/tests/clock_e2e.rs +52 -0
  22. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-cli/tests/examples_resolve.rs +4 -4
  23. flowproof-0.3.1/crates/flowproof-cli/tests/grid_cell_e2e.rs +96 -0
  24. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-cli/tests/llm_author_e2e.rs +3 -0
  25. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-cli/tests/notepad_author_e2e.rs +3 -0
  26. flowproof-0.3.1/crates/flowproof-cli/tests/notepad_e2e.rs +249 -0
  27. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-cli/tests/sap_sim_e2e.rs +13 -6
  28. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-cli/tests/suite_flow_isolation.rs +87 -0
  29. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-cli/tests/support/sap_simulator.py +21 -17
  30. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-cli/tests/vision_pipeline.rs +99 -0
  31. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-cli/tests/web_e2e.rs +37 -0
  32. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-driver/src/app.rs +408 -8
  33. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-driver/src/lib.rs +55 -3
  34. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-driver/src/mock.rs +68 -1
  35. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-driver/src/window.rs +74 -2
  36. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-python/src/lib.rs +2 -2
  37. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-replay/src/lib.rs +303 -39
  38. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-replay/tests/replay_calc.rs +470 -1
  39. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-trace/Cargo.toml +1 -0
  40. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-trace/schema/trace-v1.schema.json +11 -1
  41. flowproof-0.3.1/crates/flowproof-trace/src/cassette.rs +504 -0
  42. flowproof-0.3.1/crates/flowproof-trace/src/cassette_diff.rs +523 -0
  43. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-trace/src/format.rs +60 -1
  44. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-trace/src/lib.rs +4 -0
  45. flowproof-0.3.1/crates/flowproof-trace/src/substitution.rs +263 -0
  46. flowproof-0.3.1/crates/flowproof-trace/src/toolcalls.rs +552 -0
  47. {flowproof-0.2.5 → flowproof-0.3.1}/flowproof/__init__.py +1 -1
  48. {flowproof-0.2.5 → flowproof-0.3.1}/pyproject.toml +1 -1
  49. flowproof-0.2.5/crates/flowproof-cli/tests/notepad_e2e.rs +0 -96
  50. {flowproof-0.2.5 → flowproof-0.3.1}/README.md +0 -0
  51. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-agent/src/author.rs +0 -0
  52. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-agent/src/clarify.rs +0 -0
  53. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-agent/src/heal.rs +0 -0
  54. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-agent/src/llm.rs +0 -0
  55. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-cli/src/main.rs +0 -0
  56. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-cli/tests/api_pipeline.rs +0 -0
  57. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-cli/tests/calc_e2e.rs +0 -0
  58. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-cli/tests/sap_e2e.rs +0 -0
  59. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-cli/tests/sap_pipeline.rs +0 -0
  60. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-cli/tests/skip_unless_env.rs +0 -0
  61. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-cli/tests/suite_env_from.rs +0 -0
  62. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-cli/tests/suite_missing_trace.rs +0 -0
  63. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-driver/Cargo.toml +0 -0
  64. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-driver/src/backend.rs +0 -0
  65. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-driver/src/gdi.rs +0 -0
  66. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-driver/src/oob.rs +0 -0
  67. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-driver/src/recording.rs +0 -0
  68. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-driver/src/redact.rs +0 -0
  69. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-driver/src/visual.rs +0 -0
  70. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-python/Cargo.toml +0 -0
  71. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-replay/Cargo.toml +0 -0
  72. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-replay/src/report.rs +0 -0
  73. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-trace/src/secret.rs +0 -0
  74. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-trace/tests/fixtures/sample.trace.jsonl +0 -0
  75. {flowproof-0.2.5 → flowproof-0.3.1}/crates/flowproof-trace/tests/schema_conformance.rs +0 -0
  76. {flowproof-0.2.5 → flowproof-0.3.1}/flowproof/cli.py +0 -0
  77. {flowproof-0.2.5 → flowproof-0.3.1}/flowproof/flow.py +0 -0
  78. {flowproof-0.2.5 → flowproof-0.3.1}/flowproof/mcp_server.py +0 -0
  79. {flowproof-0.2.5 → flowproof-0.3.1}/flowproof/py.typed +0 -0
@@ -722,10 +722,11 @@ dependencies = [
722
722
 
723
723
  [[package]]
724
724
  name = "flowproof-adapters"
725
- version = "0.2.5"
725
+ version = "0.3.1"
726
726
  dependencies = [
727
727
  "anyhow",
728
728
  "flowproof-driver",
729
+ "flowproof-trace",
729
730
  "headless_chrome",
730
731
  "image",
731
732
  "ocrs",
@@ -738,11 +739,12 @@ dependencies = [
738
739
 
739
740
  [[package]]
740
741
  name = "flowproof-agent"
741
- version = "0.2.5"
742
+ version = "0.3.1"
742
743
  dependencies = [
743
744
  "chrono",
744
745
  "flowproof-driver",
745
746
  "flowproof-trace",
747
+ "regex",
746
748
  "serde",
747
749
  "serde_json",
748
750
  "serde_yaml",
@@ -753,7 +755,7 @@ dependencies = [
753
755
 
754
756
  [[package]]
755
757
  name = "flowproof-cli"
756
- version = "0.2.5"
758
+ version = "0.3.1"
757
759
  dependencies = [
758
760
  "ab_glyph",
759
761
  "clap",
@@ -764,6 +766,7 @@ dependencies = [
764
766
  "flowproof-trace",
765
767
  "image",
766
768
  "imageproc",
769
+ "serde",
767
770
  "serde_json",
768
771
  "serde_yaml",
769
772
  "tiny_http",
@@ -771,7 +774,7 @@ dependencies = [
771
774
 
772
775
  [[package]]
773
776
  name = "flowproof-driver"
774
- version = "0.2.5"
777
+ version = "0.3.1"
775
778
  dependencies = [
776
779
  "image",
777
780
  "postgres",
@@ -785,7 +788,7 @@ dependencies = [
785
788
 
786
789
  [[package]]
787
790
  name = "flowproof-python"
788
- version = "0.2.5"
791
+ version = "0.3.1"
789
792
  dependencies = [
790
793
  "flowproof-agent",
791
794
  "flowproof-cli",
@@ -797,7 +800,7 @@ dependencies = [
797
800
 
798
801
  [[package]]
799
802
  name = "flowproof-replay"
800
- version = "0.2.5"
803
+ version = "0.3.1"
801
804
  dependencies = [
802
805
  "chrono",
803
806
  "flowproof-agent",
@@ -811,9 +814,10 @@ dependencies = [
811
814
 
812
815
  [[package]]
813
816
  name = "flowproof-trace"
814
- version = "0.2.5"
817
+ version = "0.3.1"
815
818
  dependencies = [
816
819
  "jsonschema",
820
+ "regex",
817
821
  "serde",
818
822
  "serde_json",
819
823
  "thiserror 2.0.18",
@@ -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.2.5"
6
+ version = "0.3.1"
7
7
  edition = "2021"
8
8
  license = "Apache-2.0"
9
9
  repository = "https://github.com/automators-com/flowproof"
@@ -22,6 +22,7 @@ anyhow = "1"
22
22
  chrono = { version = "0.4", default-features = false, features = ["clock"] }
23
23
  clap = { version = "4", features = ["derive"] }
24
24
  serde = { version = "1", features = ["derive"] }
25
+ regex = "1"
25
26
  serde_json = "1"
26
27
  serde_yaml = "0.9"
27
28
  thiserror = "2"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flowproof
3
- Version: 0.2.5
3
+ Version: 0.3.1
4
4
  Classifier: Development Status :: 2 - Pre-Alpha
5
5
  Classifier: Intended Audience :: Developers
6
6
  Classifier: Programming Language :: Python :: 3
@@ -14,10 +14,14 @@ web = ["dep:headless_chrome"]
14
14
  # Pixels-only (Citrix/RDP) driving: OCR perception via ocrs/rten, model
15
15
  # download via ureq.
16
16
  vision = ["dep:ocrs", "dep:rten", "dep:ureq"]
17
+ # Agent-boundary testing: the model-API proxy, and record mode forwarding
18
+ # to a real model over ureq (TLS via platform-verifier, already in-tree).
19
+ agent = ["dep:ureq"]
17
20
 
18
21
  [dependencies]
19
22
  anyhow = { workspace = true }
20
23
  flowproof-driver = { workspace = true }
24
+ flowproof-trace = { workspace = true }
21
25
  headless_chrome = { version = "1", optional = true }
22
26
  serde_json = "1"
23
27
  image = { version = "0.25.10", default-features = false, features = ["png"] }