agentprov 0.1.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.
- agentprov-0.1.1/LICENSE +21 -0
- agentprov-0.1.1/PKG-INFO +99 -0
- agentprov-0.1.1/THIRD_PARTY_NOTICES.md +81 -0
- agentprov-0.1.1/docs/pypi/agentprov.md +64 -0
- agentprov-0.1.1/pyproject.toml +213 -0
- agentprov-0.1.1/pyproject.toml.orig +156 -0
- agentprov-0.1.1/src/agentprov/__init__.py +14 -0
- agentprov-0.1.1/src/agentprov/__main__.py +8 -0
- agentprov-0.1.1/src/agentprov/adapters/__init__.py +36 -0
- agentprov-0.1.1/src/agentprov/adapters/account_paths.py +105 -0
- agentprov-0.1.1/src/agentprov/adapters/adprov/__init__.py +9 -0
- agentprov-0.1.1/src/agentprov/adapters/adprov/artefacts.toml +431 -0
- agentprov-0.1.1/src/agentprov/adapters/adprov/dialect.py +160 -0
- agentprov-0.1.1/src/agentprov/adapters/adprov/mapper.py +1171 -0
- agentprov-0.1.1/src/agentprov/adapters/adprov/profiles/adprov-v1.profile.toml +114 -0
- agentprov-0.1.1/src/agentprov/adapters/adprov/profiles/archive/adprov-v1.profile.v1.toml +100 -0
- agentprov-0.1.1/src/agentprov/adapters/adprov/rules/adprov.rules.toml +566 -0
- agentprov-0.1.1/src/agentprov/adapters/adprov/rules/archive/adprov.rules.v1.toml +461 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/__init__.py +12 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/artefacts.toml +1356 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/capture_mapper.py +2710 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/capture_reader.py +375 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/census.py +230 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/citation.py +40 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/dialect.py +154 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/drift_mapper.py +917 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/ext.schema.json +87 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/family.schema.json +296 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/history_table.py +159 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/hooks/__init__.py +10 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/hooks/agentdyn.py +169 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/hooks/autodojo.py +296 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/hooks/defence_denial.py +125 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/hooks/detector_abort.py +78 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/hooks/drift.py +101 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/hooks/mandate.py +108 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/hooks/melon.py +104 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/hooks/rope.py +394 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/hooks/seagent.py +84 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/identity.py +141 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/layout.py +122 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/mapper.py +1849 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/messages_wire.py +399 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profile.py +388 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/agentdojo-live.profile.toml +225 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/agentdojo-upstream.profile.toml +324 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/agentdyn-live.profile.toml +199 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/agentdyn.profile.toml +318 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/aiauthz-agentdojo.profile.toml +178 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/archive/agentdojo-live.profile.v1.toml +187 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/archive/agentdojo-live.profile.v2.toml +200 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/archive/agentdojo-upstream.profile.v1.toml +309 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/archive/agentdyn.profile.v1.toml +246 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/archive/agentdyn.profile.v2.toml +298 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/archive/agentdyn.profile.v3.toml +316 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/archive/autodojo-live.profile.v1.toml +197 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/archive/autodojo-live.profile.v2.toml +201 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/archive/environmentoptim-agentdojo.profile.v1.toml +176 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/archive/geryon-agentdojo.profile.v1.toml +163 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/archive/interbolt-agentdojo.profile.v1.toml +174 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/archive/kongminos-agentdojo.profile.v1.toml +160 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/archive/mandate-agentdojo-eval.profile.v1.toml +177 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/archive/melon-agentdojo.profile.v1.toml +205 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/archive/memo-ozdincer-agentdojo.profile.v1.toml +226 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/archive/rope.profile.v1.toml +233 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/archive/seagent-agentdojo.profile.v1.toml +166 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/archive/survey-runs.profile.v1.toml +205 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/archive/survey-runs.profile.v2.toml +208 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/archive/tacit-agentdojo.profile.v1.toml +164 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/authority-caps-agentdojo.profile.toml +191 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/autodojo-live.profile.toml +211 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/autodojo-via-rope.profile.toml +70 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/bookkeeper-agentdojo.profile.toml +173 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/ceferisbarov-agentdojo.profile.toml +215 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/craibench-agentdojo.profile.toml +149 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/dca-agentdojo.profile.toml +217 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/drift.profile.toml +190 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/drift1-agentdojo.profile.toml +157 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/environmentoptim-agentdojo.profile.toml +184 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/gate-agentdojo.profile.toml +192 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/geryon-agentdojo.profile.toml +166 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/glitch-agentdojo.profile.toml +169 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/hilarytorn-trajectory-poisoning.profile.toml +152 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/interbolt-agentdojo.profile.toml +188 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/ipi-defenses-agentdojo.profile.toml +198 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/kavach-agentdojo.profile.toml +199 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/kongminos-agentdojo.profile.toml +173 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/linyxus-agentdojo.profile.toml +173 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/llm-lock-agentdojo.profile.toml +197 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/mandate-agentdojo-eval.profile.toml +185 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/melon-agentdojo.profile.toml +226 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/memo-ozdincer-agentdojo.profile.toml +228 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/menelaus29-ipi-multidomain.profile.toml +181 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/mohameduk-agentdojo.profile.toml +210 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/rope.profile.toml +239 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/seagent-agentdojo.profile.toml +180 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/sentry-agentdojo.profile.toml +164 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/shreeyavarma-llm-safety.profile.toml +196 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/survey-runs.profile.toml +227 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/tacit-agentdojo.profile.toml +177 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/profiles/yockcheng-prompt-injection-harness.profile.toml +158 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/quirks.py +404 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/redact.py +250 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/results_mapper.py +905 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/results_reader.py +161 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/rules/agentdojo.rules.toml +1937 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/rules/agentdyn.rules.toml +289 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/rules/anthropic_messages.rules.toml +82 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/rules/archive/agentdojo.rules.v1.toml +1394 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/rules/archive/agentdyn.rules.v1.toml +129 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/rules/archive/rescont.rules.v1.toml +548 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/rules/archive/rope.rules.v1.toml +167 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/rules/autodojo.rules.toml +35 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/rules/defence.rules.toml +78 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/rules/drift.rules.toml +453 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/rules/mandate.rules.toml +69 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/rules/rescont.rules.toml +551 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/rules/rope.rules.toml +210 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/rules/survey.rules.toml +49 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/semantics/__init__.py +22 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/semantics/agentdojo.suites-1/labels.toml +117 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/semantics/agentdojo.suites-1/profile.toml +58 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/semantics/agentdojo.suites-1/suite_tools.toml +130 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/semantics/agentdojo.suites-2/labels.toml +119 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/semantics/agentdojo.suites-2/profile.toml +77 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/semantics/agentdojo.suites-2/reviewed_tables.toml +255 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/semantics/agentdojo.suites-2/suite_tools.toml +130 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/semantics/agentdojo.suites-3/labels.toml +119 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/semantics/agentdojo.suites-3/profile.toml +78 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/semantics/agentdojo.suites-3/reviewed_tables.toml +949 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/semantics/agentdojo.suites-3/suite_tools.toml +130 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/semantics/markers.py +303 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/semantics/scoring.py +115 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/semantics/suites.py +744 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/tables/agentdojo-history.table.toml +407 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/tables/agentdyn_history_pipeline_dirs.toml +21 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/tables/agentdyn_pipeline_dirs.toml +707 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/tables/aiauthz_run_dirs.toml +118 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/tables/authority_caps_pipeline_dirs.toml +174 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/tables/autodojo_cache_variant0.json +799 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/tables/bookkeeper_pipeline_dirs.toml +79 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/tables/dca_run_dirs.toml +207 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/tables/drift1_model_dirs.toml +24 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/tables/environmentoptim_run_dirs.toml +962 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/tables/gate_pipeline_dirs.toml +99 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/tables/geryon_log_sets.toml +285 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/tables/interbolt_pipeline_dirs.toml +33 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/tables/ipi_defenses_run_dirs.toml +144 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/tables/kavach_run_dirs.toml +97 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/tables/kongminos_pipeline_dirs.toml +15 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/tables/linyxus_pipeline_dirs.toml +81 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/tables/llmlock_defence_arms.toml +56 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/tables/memo_ozdincer_containers.toml +149 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/tables/menelaus29_experiment_dirs.toml +166 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/tables/seagent_run_dirs.toml +290 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/tables/sentry_pipeline_dirs.toml +24 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/tables/shreeyavarma_pipeline_dirs.toml +14 -0
- agentprov-0.1.1/src/agentprov/adapters/agentdojo/tables/tacit_model_dirs.toml +25 -0
- agentprov-0.1.1/src/agentprov/adapters/agentops/__init__.py +31 -0
- agentprov-0.1.1/src/agentprov/adapters/agentops/artefacts.toml +308 -0
- agentprov-0.1.1/src/agentprov/adapters/agentops/dialect.py +234 -0
- agentprov-0.1.1/src/agentprov/adapters/agentops/ext.schema.json +61 -0
- agentprov-0.1.1/src/agentprov/adapters/agentops/family.schema.json +67 -0
- agentprov-0.1.1/src/agentprov/adapters/agentops/join.py +68 -0
- agentprov-0.1.1/src/agentprov/adapters/agentops/mapper.py +849 -0
- agentprov-0.1.1/src/agentprov/adapters/agentops/pairing.py +47 -0
- agentprov-0.1.1/src/agentprov/adapters/agentops/profiles/agentops-bench-pilot.profile.toml +208 -0
- agentprov-0.1.1/src/agentprov/adapters/agentops/profiles/archive/agentops-bench-pilot.profile.v1.toml +181 -0
- agentprov-0.1.1/src/agentprov/adapters/agentops/redact.py +257 -0
- agentprov-0.1.1/src/agentprov/adapters/agentops/rules/agentops.rules.toml +726 -0
- agentprov-0.1.1/src/agentprov/adapters/agentops/rules/archive/agentops.rules.v1.toml +710 -0
- agentprov-0.1.1/src/agentprov/adapters/agentops/semantics/__init__.py +21 -0
- agentprov-0.1.1/src/agentprov/adapters/agentops/semantics/agentops.tools-1/profile.toml +37 -0
- agentprov-0.1.1/src/agentprov/adapters/agentops/semantics/agentops.tools-1/tools.toml +82 -0
- agentprov-0.1.1/src/agentprov/adapters/agentops/semantics/agentops.tools-2/profile.toml +38 -0
- agentprov-0.1.1/src/agentprov/adapters/agentops/semantics/agentops.tools-2/tools.toml +82 -0
- agentprov-0.1.1/src/agentprov/adapters/agentops/semantics/tools.py +310 -0
- agentprov-0.1.1/src/agentprov/adapters/agentops/tables/task_files.toml +615 -0
- agentprov-0.1.1/src/agentprov/adapters/autogen/__init__.py +34 -0
- agentprov-0.1.1/src/agentprov/adapters/autogen/artefacts.toml +175 -0
- agentprov-0.1.1/src/agentprov/adapters/autogen/citation.py +41 -0
- agentprov-0.1.1/src/agentprov/adapters/autogen/dialect.py +299 -0
- agentprov-0.1.1/src/agentprov/adapters/autogen/events.py +139 -0
- agentprov-0.1.1/src/agentprov/adapters/autogen/family.schema.json +82 -0
- agentprov-0.1.1/src/agentprov/adapters/autogen/mapper.py +1229 -0
- agentprov-0.1.1/src/agentprov/adapters/autogen/profiles/archive/autogen-guard-placement.profile.v1.toml +121 -0
- agentprov-0.1.1/src/agentprov/adapters/autogen/profiles/autogen-guard-placement.profile.toml +137 -0
- agentprov-0.1.1/src/agentprov/adapters/autogen/rules/autogen.rules.toml +819 -0
- agentprov-0.1.1/src/agentprov/adapters/autogen/semantics/__init__.py +21 -0
- agentprov-0.1.1/src/agentprov/adapters/autogen/semantics/autogen.tools-1/profile.toml +32 -0
- agentprov-0.1.1/src/agentprov/adapters/autogen/semantics/autogen.tools-1/tools.toml +401 -0
- agentprov-0.1.1/src/agentprov/adapters/autogen/semantics/tools.py +343 -0
- agentprov-0.1.1/src/agentprov/adapters/code_verification.py +191 -0
- agentprov-0.1.1/src/agentprov/adapters/credleak/__init__.py +36 -0
- agentprov-0.1.1/src/agentprov/adapters/credleak/artefacts.toml +146 -0
- agentprov-0.1.1/src/agentprov/adapters/credleak/dialect.py +199 -0
- agentprov-0.1.1/src/agentprov/adapters/credleak/ext.schema.json +47 -0
- agentprov-0.1.1/src/agentprov/adapters/credleak/family.schema.json +49 -0
- agentprov-0.1.1/src/agentprov/adapters/credleak/mapper.py +618 -0
- agentprov-0.1.1/src/agentprov/adapters/credleak/profiles/archive/credleak-p15b.profile.v1.toml +139 -0
- agentprov-0.1.1/src/agentprov/adapters/credleak/profiles/credleak-p15b.profile.toml +201 -0
- agentprov-0.1.1/src/agentprov/adapters/credleak/rates.toml +14 -0
- agentprov-0.1.1/src/agentprov/adapters/credleak/redact.py +200 -0
- agentprov-0.1.1/src/agentprov/adapters/credleak/rules/archive/credleak.rules.v1.toml +444 -0
- agentprov-0.1.1/src/agentprov/adapters/credleak/rules/credleak.rules.toml +461 -0
- agentprov-0.1.1/src/agentprov/adapters/credleak/semantics/__init__.py +155 -0
- agentprov-0.1.1/src/agentprov/adapters/credleak/semantics/credleak.tools-1/tables.toml +82 -0
- agentprov-0.1.1/src/agentprov/adapters/credleak/semantics/credleak.tools-2/tables.toml +85 -0
- agentprov-0.1.1/src/agentprov/adapters/dtap/__init__.py +32 -0
- agentprov-0.1.1/src/agentprov/adapters/dtap/artefacts.toml +545 -0
- agentprov-0.1.1/src/agentprov/adapters/dtap/dialect.py +360 -0
- agentprov-0.1.1/src/agentprov/adapters/dtap/ext.schema.json +98 -0
- agentprov-0.1.1/src/agentprov/adapters/dtap/family.schema.json +72 -0
- agentprov-0.1.1/src/agentprov/adapters/dtap/join.py +203 -0
- agentprov-0.1.1/src/agentprov/adapters/dtap/mapper.py +1383 -0
- agentprov-0.1.1/src/agentprov/adapters/dtap/matcher.py +109 -0
- agentprov-0.1.1/src/agentprov/adapters/dtap/pairing.py +174 -0
- agentprov-0.1.1/src/agentprov/adapters/dtap/profiles/archive/dtap-bench.profile.v1.toml +153 -0
- agentprov-0.1.1/src/agentprov/adapters/dtap/profiles/archive/dtap-bench.profile.v2.toml +212 -0
- agentprov-0.1.1/src/agentprov/adapters/dtap/profiles/dtap-bench.profile.toml +217 -0
- agentprov-0.1.1/src/agentprov/adapters/dtap/rates.toml +42 -0
- agentprov-0.1.1/src/agentprov/adapters/dtap/redact.py +253 -0
- agentprov-0.1.1/src/agentprov/adapters/dtap/rules/archive/dtap.rules.v1.toml +1146 -0
- agentprov-0.1.1/src/agentprov/adapters/dtap/rules/archive/dtap.rules.v2.toml +1163 -0
- agentprov-0.1.1/src/agentprov/adapters/dtap/rules/dtap.rules.toml +1178 -0
- agentprov-0.1.1/src/agentprov/adapters/dtap/semantics/__init__.py +21 -0
- agentprov-0.1.1/src/agentprov/adapters/dtap/semantics/dtap.tools-1/builtins.toml +132 -0
- agentprov-0.1.1/src/agentprov/adapters/dtap/semantics/dtap.tools-1/domains.toml +58 -0
- agentprov-0.1.1/src/agentprov/adapters/dtap/semantics/dtap.tools-1/labels.toml +4314 -0
- agentprov-0.1.1/src/agentprov/adapters/dtap/semantics/dtap.tools-1/profile.toml +37 -0
- agentprov-0.1.1/src/agentprov/adapters/dtap/semantics/dtap.tools-1/servers.toml +191 -0
- agentprov-0.1.1/src/agentprov/adapters/dtap/semantics/dtap.tools-2/builtins.toml +132 -0
- agentprov-0.1.1/src/agentprov/adapters/dtap/semantics/dtap.tools-2/domains.toml +58 -0
- agentprov-0.1.1/src/agentprov/adapters/dtap/semantics/dtap.tools-2/labels.toml +4314 -0
- agentprov-0.1.1/src/agentprov/adapters/dtap/semantics/dtap.tools-2/profile.toml +38 -0
- agentprov-0.1.1/src/agentprov/adapters/dtap/semantics/dtap.tools-2/servers.toml +191 -0
- agentprov-0.1.1/src/agentprov/adapters/dtap/semantics/dtap.tools-3/builtins.toml +132 -0
- agentprov-0.1.1/src/agentprov/adapters/dtap/semantics/dtap.tools-3/domains.toml +58 -0
- agentprov-0.1.1/src/agentprov/adapters/dtap/semantics/dtap.tools-3/labels.toml +4314 -0
- agentprov-0.1.1/src/agentprov/adapters/dtap/semantics/dtap.tools-3/profile.toml +40 -0
- agentprov-0.1.1/src/agentprov/adapters/dtap/semantics/dtap.tools-3/servers.toml +191 -0
- agentprov-0.1.1/src/agentprov/adapters/dtap/semantics/tools.py +622 -0
- agentprov-0.1.1/src/agentprov/adapters/environment_load.py +35 -0
- agentprov-0.1.1/src/agentprov/adapters/foobench/__init__.py +22 -0
- agentprov-0.1.1/src/agentprov/adapters/foobench/artefacts.toml +59 -0
- agentprov-0.1.1/src/agentprov/adapters/foobench/dialect.py +146 -0
- agentprov-0.1.1/src/agentprov/adapters/foobench/ext.schema.json +51 -0
- agentprov-0.1.1/src/agentprov/adapters/foobench/family.schema.json +52 -0
- agentprov-0.1.1/src/agentprov/adapters/foobench/mapper.py +1089 -0
- agentprov-0.1.1/src/agentprov/adapters/foobench/profiles/foobench.profile.toml +93 -0
- agentprov-0.1.1/src/agentprov/adapters/foobench/rules/foobench.rules.toml +246 -0
- agentprov-0.1.1/src/agentprov/adapters/foobench/semantics/__init__.py +170 -0
- agentprov-0.1.1/src/agentprov/adapters/foobench/semantics/foobench.toy-1/tables.toml +87 -0
- agentprov-0.1.1/src/agentprov/adapters/geminicli/__init__.py +29 -0
- agentprov-0.1.1/src/agentprov/adapters/geminicli/artefacts.toml +295 -0
- agentprov-0.1.1/src/agentprov/adapters/geminicli/dialect.py +249 -0
- agentprov-0.1.1/src/agentprov/adapters/geminicli/ext.schema.json +60 -0
- agentprov-0.1.1/src/agentprov/adapters/geminicli/family.schema.json +40 -0
- agentprov-0.1.1/src/agentprov/adapters/geminicli/mapper.py +880 -0
- agentprov-0.1.1/src/agentprov/adapters/geminicli/profiles/archive/code-agent-misalignment-geminicli.profile.v1.toml +165 -0
- agentprov-0.1.1/src/agentprov/adapters/geminicli/profiles/code-agent-misalignment-geminicli.profile.toml +186 -0
- agentprov-0.1.1/src/agentprov/adapters/geminicli/rules/geminicli.rules.toml +612 -0
- agentprov-0.1.1/src/agentprov/adapters/geminicli/semantics/__init__.py +21 -0
- agentprov-0.1.1/src/agentprov/adapters/geminicli/semantics/geminicli.tools-1/profile.toml +31 -0
- agentprov-0.1.1/src/agentprov/adapters/geminicli/semantics/geminicli.tools-1/tools.toml +77 -0
- agentprov-0.1.1/src/agentprov/adapters/geminicli/semantics/tools.py +212 -0
- agentprov-0.1.1/src/agentprov/adapters/inspect/__init__.py +10 -0
- agentprov-0.1.1/src/agentprov/adapters/inspect/artefacts.toml +366 -0
- agentprov-0.1.1/src/agentprov/adapters/inspect/dialect.py +298 -0
- agentprov-0.1.1/src/agentprov/adapters/inspect/ext.schema.json +80 -0
- agentprov-0.1.1/src/agentprov/adapters/inspect/family.schema.json +89 -0
- agentprov-0.1.1/src/agentprov/adapters/inspect/mapper.py +2132 -0
- agentprov-0.1.1/src/agentprov/adapters/inspect/profiles/agentharm-live.profile.toml +123 -0
- agentprov-0.1.1/src/agentprov/adapters/inspect/profiles/archive/controlarena-persistent.profile.v2.toml +316 -0
- agentprov-0.1.1/src/agentprov/adapters/inspect/profiles/archive/controlarena-persistent.profile.v3.toml +287 -0
- agentprov-0.1.1/src/agentprov/adapters/inspect/profiles/archive/fragfuse-agentharm.profile.v1.toml +138 -0
- agentprov-0.1.1/src/agentprov/adapters/inspect/profiles/archive/kexin-xu-01-agentharm.profile.v1.toml +125 -0
- agentprov-0.1.1/src/agentprov/adapters/inspect/profiles/archive/survey-agentharm.profile.v1.toml +119 -0
- agentprov-0.1.1/src/agentprov/adapters/inspect/profiles/archive/whistlebench.profile.v1.toml +111 -0
- agentprov-0.1.1/src/agentprov/adapters/inspect/profiles/atia-benchmark.profile.toml +89 -0
- agentprov-0.1.1/src/agentprov/adapters/inspect/profiles/controlarena-persistent.profile.toml +306 -0
- agentprov-0.1.1/src/agentprov/adapters/inspect/profiles/fragfuse-agentharm.profile.toml +165 -0
- agentprov-0.1.1/src/agentprov/adapters/inspect/profiles/kexin-xu-01-agentharm.profile.toml +155 -0
- agentprov-0.1.1/src/agentprov/adapters/inspect/profiles/survey-agentharm.profile.toml +137 -0
- agentprov-0.1.1/src/agentprov/adapters/inspect/profiles/whistlebench.profile.toml +152 -0
- agentprov-0.1.1/src/agentprov/adapters/inspect/redact.py +271 -0
- agentprov-0.1.1/src/agentprov/adapters/inspect/rules/archive/inspect.rules.v1.toml +397 -0
- agentprov-0.1.1/src/agentprov/adapters/inspect/rules/inspect.rules.toml +770 -0
- agentprov-0.1.1/src/agentprov/adapters/inspect/semantics/__init__.py +150 -0
- agentprov-0.1.1/src/agentprov/adapters/inspect/semantics/atia.py +92 -0
- agentprov-0.1.1/src/agentprov/adapters/inspect/semantics/inspect.agentharm-1/tables.toml +48 -0
- agentprov-0.1.1/src/agentprov/adapters/inspect/semantics/inspect.agentharm-2/tables.toml +50 -0
- agentprov-0.1.1/src/agentprov/adapters/inspect/semantics/inspect.atia-1/tables.toml +23 -0
- agentprov-0.1.1/src/agentprov/adapters/inspect/semantics/inspect.whistlebench-1/tables.toml +25 -0
- agentprov-0.1.1/src/agentprov/adapters/inspect/semantics/inspect.whistlebench-2/tables.toml +214 -0
- agentprov-0.1.1/src/agentprov/adapters/inspect/semantics/whistlebench.py +170 -0
- agentprov-0.1.1/src/agentprov/adapters/mcphunt/__init__.py +30 -0
- agentprov-0.1.1/src/agentprov/adapters/mcphunt/artefacts.toml +137 -0
- agentprov-0.1.1/src/agentprov/adapters/mcphunt/dialect.py +188 -0
- agentprov-0.1.1/src/agentprov/adapters/mcphunt/ext.schema.json +37 -0
- agentprov-0.1.1/src/agentprov/adapters/mcphunt/family.schema.json +29 -0
- agentprov-0.1.1/src/agentprov/adapters/mcphunt/mapper.py +881 -0
- agentprov-0.1.1/src/agentprov/adapters/mcphunt/profiles/archive/mcphunt.profile.v1.toml +336 -0
- agentprov-0.1.1/src/agentprov/adapters/mcphunt/profiles/archive/mcphunt.profile.v2.toml +337 -0
- agentprov-0.1.1/src/agentprov/adapters/mcphunt/profiles/mcphunt.profile.toml +341 -0
- agentprov-0.1.1/src/agentprov/adapters/mcphunt/rules/archive/mcphunt.rules.v1.toml +571 -0
- agentprov-0.1.1/src/agentprov/adapters/mcphunt/rules/mcphunt.rules.toml +598 -0
- agentprov-0.1.1/src/agentprov/adapters/mcphunt/semantics/__init__.py +21 -0
- agentprov-0.1.1/src/agentprov/adapters/mcphunt/semantics/mcphunt.tools-1/profile.toml +23 -0
- agentprov-0.1.1/src/agentprov/adapters/mcphunt/semantics/mcphunt.tools-1/tools.toml +76 -0
- agentprov-0.1.1/src/agentprov/adapters/mcphunt/semantics/mcphunt.tools-2/profile.toml +24 -0
- agentprov-0.1.1/src/agentprov/adapters/mcphunt/semantics/mcphunt.tools-2/tools.toml +76 -0
- agentprov-0.1.1/src/agentprov/adapters/mcphunt/semantics/tools.py +210 -0
- agentprov-0.1.1/src/agentprov/adapters/openhands/__init__.py +35 -0
- agentprov-0.1.1/src/agentprov/adapters/openhands/artefacts.toml +207 -0
- agentprov-0.1.1/src/agentprov/adapters/openhands/citation.py +45 -0
- agentprov-0.1.1/src/agentprov/adapters/openhands/dialect.py +251 -0
- agentprov-0.1.1/src/agentprov/adapters/openhands/ext.schema.json +55 -0
- agentprov-0.1.1/src/agentprov/adapters/openhands/family.schema.json +67 -0
- agentprov-0.1.1/src/agentprov/adapters/openhands/mapper.py +1337 -0
- agentprov-0.1.1/src/agentprov/adapters/openhands/profiles/archive/openagentsafety.profile.v1.toml +110 -0
- agentprov-0.1.1/src/agentprov/adapters/openhands/profiles/openagentsafety.profile.toml +134 -0
- agentprov-0.1.1/src/agentprov/adapters/openhands/profiles/redcode-exec-openhands.profile.toml +198 -0
- agentprov-0.1.1/src/agentprov/adapters/openhands/redact.py +193 -0
- agentprov-0.1.1/src/agentprov/adapters/openhands/rules/archive/openhands.rules.v1.toml +877 -0
- agentprov-0.1.1/src/agentprov/adapters/openhands/rules/openhands.rules.toml +919 -0
- agentprov-0.1.1/src/agentprov/adapters/openhands/semantics/__init__.py +21 -0
- agentprov-0.1.1/src/agentprov/adapters/openhands/semantics/openhands.tools-1/profile.toml +32 -0
- agentprov-0.1.1/src/agentprov/adapters/openhands/semantics/openhands.tools-1/tools.toml +67 -0
- agentprov-0.1.1/src/agentprov/adapters/openhands/semantics/openhands.tools-2/profile.toml +33 -0
- agentprov-0.1.1/src/agentprov/adapters/openhands/semantics/openhands.tools-2/tools.toml +67 -0
- agentprov-0.1.1/src/agentprov/adapters/openhands/semantics/tools.py +273 -0
- agentprov-0.1.1/src/agentprov/adapters/profiles.py +278 -0
- agentprov-0.1.1/src/agentprov/adapters/projection.py +159 -0
- agentprov-0.1.1/src/agentprov/adapters/protocols.py +93 -0
- agentprov-0.1.1/src/agentprov/adapters/qwencode/__init__.py +30 -0
- agentprov-0.1.1/src/agentprov/adapters/qwencode/artefacts.toml +211 -0
- agentprov-0.1.1/src/agentprov/adapters/qwencode/dialect.py +398 -0
- agentprov-0.1.1/src/agentprov/adapters/qwencode/ext.schema.json +62 -0
- agentprov-0.1.1/src/agentprov/adapters/qwencode/family.schema.json +105 -0
- agentprov-0.1.1/src/agentprov/adapters/qwencode/mapper.py +875 -0
- agentprov-0.1.1/src/agentprov/adapters/qwencode/profiles/archive/redcode-exec-qwencode.profile.v1.toml +127 -0
- agentprov-0.1.1/src/agentprov/adapters/qwencode/profiles/redcode-exec-qwencode.profile.toml +142 -0
- agentprov-0.1.1/src/agentprov/adapters/qwencode/rules/archive/qwencode.rules.v1.toml +562 -0
- agentprov-0.1.1/src/agentprov/adapters/qwencode/rules/qwencode.rules.toml +564 -0
- agentprov-0.1.1/src/agentprov/adapters/qwencode/semantics/__init__.py +21 -0
- agentprov-0.1.1/src/agentprov/adapters/qwencode/semantics/qwencode.tools-1/profile.toml +35 -0
- agentprov-0.1.1/src/agentprov/adapters/qwencode/semantics/qwencode.tools-1/tools.toml +69 -0
- agentprov-0.1.1/src/agentprov/adapters/qwencode/semantics/qwencode.tools-2/profile.toml +39 -0
- agentprov-0.1.1/src/agentprov/adapters/qwencode/semantics/qwencode.tools-2/tools.toml +69 -0
- agentprov-0.1.1/src/agentprov/adapters/qwencode/semantics/tools.py +246 -0
- agentprov-0.1.1/src/agentprov/adapters/registry/__init__.py +2241 -0
- agentprov-0.1.1/src/agentprov/adapters/registry/claims.py +535 -0
- agentprov-0.1.1/src/agentprov/adapters/registry/render.py +100 -0
- agentprov-0.1.1/src/agentprov/adapters/runner/__init__.py +1101 -0
- agentprov-0.1.1/src/agentprov/adapters/runner/importer.py +3277 -0
- agentprov-0.1.1/src/agentprov/adapters/runner/live.py +133 -0
- agentprov-0.1.1/src/agentprov/adapters/runner/provjob.py +114 -0
- agentprov-0.1.1/src/agentprov/adapters/runner/session.py +349 -0
- agentprov-0.1.1/src/agentprov/adapters/semantics_profiles.py +96 -0
- agentprov-0.1.1/src/agentprov/adapters/surrogates.py +130 -0
- agentprov-0.1.1/src/agentprov/adapters/types.py +139 -0
- agentprov-0.1.1/src/agentprov/adapters/wirelog/__init__.py +33 -0
- agentprov-0.1.1/src/agentprov/adapters/wirelog/artefacts.toml +168 -0
- agentprov-0.1.1/src/agentprov/adapters/wirelog/dialect.py +195 -0
- agentprov-0.1.1/src/agentprov/adapters/wirelog/ext.schema.json +53 -0
- agentprov-0.1.1/src/agentprov/adapters/wirelog/family.schema.json +64 -0
- agentprov-0.1.1/src/agentprov/adapters/wirelog/mapper.py +1079 -0
- agentprov-0.1.1/src/agentprov/adapters/wirelog/profiles/what-surrounds.profile.toml +149 -0
- agentprov-0.1.1/src/agentprov/adapters/wirelog/rules/wirelog.rules.toml +785 -0
- agentprov-0.1.1/src/agentprov/adapters/wirelog/semantics/__init__.py +21 -0
- agentprov-0.1.1/src/agentprov/adapters/wirelog/semantics/tools.py +324 -0
- agentprov-0.1.1/src/agentprov/adapters/wirelog/semantics/wirelog.tools-1/documents.toml +31 -0
- agentprov-0.1.1/src/agentprov/adapters/wirelog/semantics/wirelog.tools-1/profile.toml +33 -0
- agentprov-0.1.1/src/agentprov/adapters/wirelog/semantics/wirelog.tools-1/tools.toml +24 -0
- agentprov-0.1.1/src/agentprov/adapters/wirelog/wire.py +281 -0
- agentprov-0.1.1/src/agentprov/aer/__init__.py +42 -0
- agentprov-0.1.1/src/agentprov/aer/_structure.py +1144 -0
- agentprov-0.1.1/src/agentprov/aer/accounting.py +405 -0
- agentprov-0.1.1/src/agentprov/aer/canon.py +347 -0
- agentprov-0.1.1/src/agentprov/aer/evidence.py +145 -0
- agentprov-0.1.1/src/agentprov/aer/ids.py +187 -0
- agentprov-0.1.1/src/agentprov/aer/locators.py +282 -0
- agentprov-0.1.1/src/agentprov/aer/reader.py +222 -0
- agentprov-0.1.1/src/agentprov/aer/rules/aer.rules.toml +196 -0
- agentprov-0.1.1/src/agentprov/aer/rules.py +408 -0
- agentprov-0.1.1/src/agentprov/aer/types.py +430 -0
- agentprov-0.1.1/src/agentprov/aer/validate.py +1240 -0
- agentprov-0.1.1/src/agentprov/aer/writer.py +162 -0
- agentprov-0.1.1/src/agentprov/api.py +363 -0
- agentprov-0.1.1/src/agentprov/artefacts/__init__.py +64 -0
- agentprov-0.1.1/src/agentprov/artefacts/catalogue.py +540 -0
- agentprov-0.1.1/src/agentprov/artefacts/detectors.py +473 -0
- agentprov-0.1.1/src/agentprov/artefacts/scan.py +250 -0
- agentprov-0.1.1/src/agentprov/cli/__init__.py +0 -0
- agentprov-0.1.1/src/agentprov/cli/assist.py +527 -0
- agentprov-0.1.1/src/agentprov/cli/backends.py +431 -0
- agentprov-0.1.1/src/agentprov/cli/batch.py +350 -0
- agentprov-0.1.1/src/agentprov/cli/checks.py +535 -0
- agentprov-0.1.1/src/agentprov/cli/common.py +799 -0
- agentprov-0.1.1/src/agentprov/cli/control.py +221 -0
- agentprov-0.1.1/src/agentprov/cli/deposit.py +181 -0
- agentprov-0.1.1/src/agentprov/cli/derive.py +422 -0
- agentprov-0.1.1/src/agentprov/cli/devrun.py +227 -0
- agentprov-0.1.1/src/agentprov/cli/estimate.py +324 -0
- agentprov-0.1.1/src/agentprov/cli/feedback.py +996 -0
- agentprov-0.1.1/src/agentprov/cli/fetch.py +393 -0
- agentprov-0.1.1/src/agentprov/cli/gitinfo.py +99 -0
- agentprov-0.1.1/src/agentprov/cli/import_.py +997 -0
- agentprov-0.1.1/src/agentprov/cli/info.py +363 -0
- agentprov-0.1.1/src/agentprov/cli/inspect.py +725 -0
- agentprov-0.1.1/src/agentprov/cli/jobs.py +379 -0
- agentprov-0.1.1/src/agentprov/cli/keys.py +137 -0
- agentprov-0.1.1/src/agentprov/cli/live/__init__.py +15 -0
- agentprov-0.1.1/src/agentprov/cli/live/assistant.py +295 -0
- agentprov-0.1.1/src/agentprov/cli/live/autodojo_cache.py +301 -0
- agentprov-0.1.1/src/agentprov/cli/live/campaign.py +630 -0
- agentprov-0.1.1/src/agentprov/cli/live/defences.py +392 -0
- agentprov-0.1.1/src/agentprov/cli/live/egress.py +532 -0
- agentprov-0.1.1/src/agentprov/cli/live/envs.py +908 -0
- agentprov-0.1.1/src/agentprov/cli/live/inspect_catalogue.py +145 -0
- agentprov-0.1.1/src/agentprov/cli/live/localmodels.py +1091 -0
- agentprov-0.1.1/src/agentprov/cli/live/policy.py +305 -0
- agentprov-0.1.1/src/agentprov/cli/live/providermodels.py +356 -0
- agentprov-0.1.1/src/agentprov/cli/live/quality.py +263 -0
- agentprov-0.1.1/src/agentprov/cli/live/sandbox.py +205 -0
- agentprov-0.1.1/src/agentprov/cli/live/staging.py +306 -0
- agentprov-0.1.1/src/agentprov/cli/live/tune.py +267 -0
- agentprov-0.1.1/src/agentprov/cli/live/worker.py +318 -0
- agentprov-0.1.1/src/agentprov/cli/main.py +346 -0
- agentprov-0.1.1/src/agentprov/cli/migrate.py +235 -0
- agentprov-0.1.1/src/agentprov/cli/models.py +405 -0
- agentprov-0.1.1/src/agentprov/cli/package.py +326 -0
- agentprov-0.1.1/src/agentprov/cli/prices.py +223 -0
- agentprov-0.1.1/src/agentprov/cli/purge.py +209 -0
- agentprov-0.1.1/src/agentprov/cli/render.py +334 -0
- agentprov-0.1.1/src/agentprov/cli/run.py +3071 -0
- agentprov-0.1.1/src/agentprov/cli/settings_cmd.py +86 -0
- agentprov-0.1.1/src/agentprov/cli/stats.py +200 -0
- agentprov-0.1.1/src/agentprov/cli/verify.py +279 -0
- agentprov-0.1.1/src/agentprov/corpus/__init__.py +42 -0
- agentprov-0.1.1/src/agentprov/corpus/archive.py +296 -0
- agentprov-0.1.1/src/agentprov/corpus/authority.py +303 -0
- agentprov-0.1.1/src/agentprov/corpus/buildstep.py +205 -0
- agentprov-0.1.1/src/agentprov/corpus/conformance.py +32 -0
- agentprov-0.1.1/src/agentprov/corpus/datasheet.py +616 -0
- agentprov-0.1.1/src/agentprov/corpus/dedup.py +28 -0
- agentprov-0.1.1/src/agentprov/corpus/derive.py +2290 -0
- agentprov-0.1.1/src/agentprov/corpus/facets.py +554 -0
- agentprov-0.1.1/src/agentprov/corpus/index.py +765 -0
- agentprov-0.1.1/src/agentprov/corpus/integrity.py +396 -0
- agentprov-0.1.1/src/agentprov/corpus/layout.py +568 -0
- agentprov-0.1.1/src/agentprov/corpus/licences.py +35 -0
- agentprov-0.1.1/src/agentprov/corpus/manifest.py +1594 -0
- agentprov-0.1.1/src/agentprov/corpus/package.py +1522 -0
- agentprov-0.1.1/src/agentprov/corpus/personas.py +344 -0
- agentprov-0.1.1/src/agentprov/corpus/purge.py +522 -0
- agentprov-0.1.1/src/agentprov/corpus/rawtree.py +556 -0
- agentprov-0.1.1/src/agentprov/corpus/reader.py +482 -0
- agentprov-0.1.1/src/agentprov/corpus/register.py +352 -0
- agentprov-0.1.1/src/agentprov/corpus/rowvalues.py +36 -0
- agentprov-0.1.1/src/agentprov/corpus/rules/corpus.rules.toml +95 -0
- agentprov-0.1.1/src/agentprov/corpus/runstate.py +61 -0
- agentprov-0.1.1/src/agentprov/corpus/scratch.py +43 -0
- agentprov-0.1.1/src/agentprov/corpus/selection.py +59 -0
- agentprov-0.1.1/src/agentprov/corpus/shapes.py +340 -0
- agentprov-0.1.1/src/agentprov/corpus/spec.py +483 -0
- agentprov-0.1.1/src/agentprov/corpus/stages.py +48 -0
- agentprov-0.1.1/src/agentprov/corpus/validation.py +560 -0
- agentprov-0.1.1/src/agentprov/corpus/validation_job.py +73 -0
- agentprov-0.1.1/src/agentprov/corpus/verify.py +1488 -0
- agentprov-0.1.1/src/agentprov/corpus/withheld.py +563 -0
- agentprov-0.1.1/src/agentprov/corpus/withhold.py +1161 -0
- agentprov-0.1.1/src/agentprov/corpus/withhold_scan.py +502 -0
- agentprov-0.1.1/src/agentprov/corpus/writer.py +503 -0
- agentprov-0.1.1/src/agentprov/corpus/zip_local.py +183 -0
- agentprov-0.1.1/src/agentprov/devrun/__init__.py +8 -0
- agentprov-0.1.1/src/agentprov/devrun/plan.py +235 -0
- agentprov-0.1.1/src/agentprov/docs/user-guide/01-install.md +157 -0
- agentprov-0.1.1/src/agentprov/docs/user-guide/02-concepts.md +244 -0
- agentprov-0.1.1/src/agentprov/docs/user-guide/03-sources-and-import.md +326 -0
- agentprov-0.1.1/src/agentprov/docs/user-guide/04-derive-recompute-validate-verify.md +301 -0
- agentprov-0.1.1/src/agentprov/docs/user-guide/05-package-and-deposit.md +484 -0
- agentprov-0.1.1/src/agentprov/docs/user-guide/06-stats-and-render.md +166 -0
- agentprov-0.1.1/src/agentprov/docs/user-guide/07-live-runs.md +952 -0
- agentprov-0.1.1/src/agentprov/docs/user-guide/08-desktop-app.md +605 -0
- agentprov-0.1.1/src/agentprov/docs/user-guide/09-safety.md +158 -0
- agentprov-0.1.1/src/agentprov/docs/user-guide/10-troubleshooting.md +285 -0
- agentprov-0.1.1/src/agentprov/docs/user-guide/11-cli-reference.md +4367 -0
- agentprov-0.1.1/src/agentprov/docs/user-guide/12-glossary.md +128 -0
- agentprov-0.1.1/src/agentprov/docs/user-guide/13-namespace.md +138 -0
- agentprov-0.1.1/src/agentprov/docs/user-guide/14-corpora.md +226 -0
- agentprov-0.1.1/src/agentprov/docs/user-guide/15-corpus-artefacts.md +937 -0
- agentprov-0.1.1/src/agentprov/docs/user-guide/README.md +65 -0
- agentprov-0.1.1/src/agentprov/drain.py +40 -0
- agentprov-0.1.1/src/agentprov/envinfo.py +124 -0
- agentprov-0.1.1/src/agentprov/errors.py +256 -0
- agentprov-0.1.1/src/agentprov/estimate/__init__.py +19 -0
- agentprov-0.1.1/src/agentprov/estimate/cost.py +366 -0
- agentprov-0.1.1/src/agentprov/estimate/data/estimate_priors.json +511 -0
- agentprov-0.1.1/src/agentprov/estimate/data/prices.json +396 -0
- agentprov-0.1.1/src/agentprov/estimate/data/stand-in-script.json +1 -0
- agentprov-0.1.1/src/agentprov/estimate/plan.py +126 -0
- agentprov-0.1.1/src/agentprov/estimate/prices.py +465 -0
- agentprov-0.1.1/src/agentprov/estimate/priors.py +125 -0
- agentprov-0.1.1/src/agentprov/estimate/usage.py +337 -0
- agentprov-0.1.1/src/agentprov/formats.py +160 -0
- agentprov-0.1.1/src/agentprov/host.py +928 -0
- agentprov-0.1.1/src/agentprov/ingest/__init__.py +81 -0
- agentprov-0.1.1/src/agentprov/ingest/archives.py +958 -0
- agentprov-0.1.1/src/agentprov/ingest/jsonspan.py +179 -0
- agentprov-0.1.1/src/agentprov/ingest/jsonstream.py +465 -0
- agentprov-0.1.1/src/agentprov/ingest/limits.py +179 -0
- agentprov-0.1.1/src/agentprov/ingest/loaders.py +396 -0
- agentprov-0.1.1/src/agentprov/ingest/names.py +113 -0
- agentprov-0.1.1/src/agentprov/ingest/parts.py +128 -0
- agentprov-0.1.1/src/agentprov/ingest/paths.py +534 -0
- agentprov-0.1.1/src/agentprov/ingest/profile_limits.py +60 -0
- agentprov-0.1.1/src/agentprov/ingest/quote.py +175 -0
- agentprov-0.1.1/src/agentprov/ingest/sse.py +99 -0
- agentprov-0.1.1/src/agentprov/ingest/streams.py +313 -0
- agentprov-0.1.1/src/agentprov/ingest/yamlsafe.py +110 -0
- agentprov-0.1.1/src/agentprov/io/__init__.py +1 -0
- agentprov-0.1.1/src/agentprov/io/atomic.py +424 -0
- agentprov-0.1.1/src/agentprov/io/canonical.py +124 -0
- agentprov-0.1.1/src/agentprov/io/jsonschema_subset.py +195 -0
- agentprov-0.1.1/src/agentprov/io/locks.py +249 -0
- agentprov-0.1.1/src/agentprov/io/remove.py +89 -0
- agentprov-0.1.1/src/agentprov/io/replace_retry.py +44 -0
- agentprov-0.1.1/src/agentprov/io/worker_testjobs.py +280 -0
- agentprov-0.1.1/src/agentprov/io/workers.py +2096 -0
- agentprov-0.1.1/src/agentprov/jobs/__init__.py +10 -0
- agentprov-0.1.1/src/agentprov/jobs/batch.py +317 -0
- agentprov-0.1.1/src/agentprov/jobs/follow.py +379 -0
- agentprov-0.1.1/src/agentprov/jobs/manager.py +493 -0
- agentprov-0.1.1/src/agentprov/jobs/record.py +285 -0
- agentprov-0.1.1/src/agentprov/jobs/supervisor.py +92 -0
- agentprov-0.1.1/src/agentprov/jobs/tiers.py +78 -0
- agentprov-0.1.1/src/agentprov/keys/__init__.py +154 -0
- agentprov-0.1.1/src/agentprov/keys/helper.py +159 -0
- agentprov-0.1.1/src/agentprov/migration/__init__.py +11 -0
- agentprov-0.1.1/src/agentprov/migration/c6.py +437 -0
- agentprov-0.1.1/src/agentprov/migration/gate_c3.py +131 -0
- agentprov-0.1.1/src/agentprov/migration/gate_d.py +579 -0
- agentprov-0.1.1/src/agentprov/migration/gate_d_worker.py +524 -0
- agentprov-0.1.1/src/agentprov/migration/gates.py +1089 -0
- agentprov-0.1.1/src/agentprov/migration/lock.py +320 -0
- agentprov-0.1.1/src/agentprov/migration/pipeline.py +578 -0
- agentprov-0.1.1/src/agentprov/migration/reconcile.py +284 -0
- agentprov-0.1.1/src/agentprov/migration/semdiff.py +914 -0
- agentprov-0.1.1/src/agentprov/migration/xd.py +229 -0
- agentprov-0.1.1/src/agentprov/presets/presets.toml +89 -0
- agentprov-0.1.1/src/agentprov/presets.py +1017 -0
- agentprov-0.1.1/src/agentprov/progress.py +112 -0
- agentprov-0.1.1/src/agentprov/prov/__init__.py +27 -0
- agentprov-0.1.1/src/agentprov/prov/_ir.py +94 -0
- agentprov-0.1.1/src/agentprov/prov/catalogue/agentprov-prov-0.1.toml +510 -0
- agentprov-0.1.1/src/agentprov/prov/catalogue/archive/agentprov-prov-0.1.v1.toml +476 -0
- agentprov-0.1.1/src/agentprov/prov/catalogue/archive/agentprov-prov-0.1.v2.toml +485 -0
- agentprov-0.1.1/src/agentprov/prov/compat/__init__.py +5 -0
- agentprov-0.1.1/src/agentprov/prov/compat/adprov_v2_3/PORT_MANIFEST.json +332 -0
- agentprov-0.1.1/src/agentprov/prov/compat/adprov_v2_3/__init__.py +71 -0
- agentprov-0.1.1/src/agentprov/prov/compat/adprov_v2_3/adprov.ttl +158 -0
- agentprov-0.1.1/src/agentprov/prov/compat/adprov_v2_3/build_prov.py +524 -0
- agentprov-0.1.1/src/agentprov/prov/compat/adprov_v2_3/conformance.py +607 -0
- agentprov-0.1.1/src/agentprov/prov/compat/adprov_v2_3/labeling.py +175 -0
- agentprov-0.1.1/src/agentprov/prov/compat/adprov_v2_3/prov_emit.py +253 -0
- agentprov-0.1.1/src/agentprov/prov/compat/adprov_v2_3/serialise.py +25 -0
- agentprov-0.1.1/src/agentprov/prov/compat/adprov_v2_3/validate.py +453 -0
- agentprov-0.1.1/src/agentprov/prov/compat/adprov_v2_3/yaml_shim.py +24 -0
- agentprov-0.1.1/src/agentprov/prov/compat/semdiff-map.toml +815 -0
- agentprov-0.1.1/src/agentprov/prov/diff.py +115 -0
- agentprov-0.1.1/src/agentprov/prov/engine.py +1054 -0
- agentprov-0.1.1/src/agentprov/prov/evidence.py +113 -0
- agentprov-0.1.1/src/agentprov/prov/iri.py +115 -0
- agentprov-0.1.1/src/agentprov/prov/rules/__init__.py +1 -0
- agentprov-0.1.1/src/agentprov/prov/rules/assess.py +624 -0
- agentprov-0.1.1/src/agentprov/prov/rules/edges.py +587 -0
- agentprov-0.1.1/src/agentprov/prov/rules/nodes.py +585 -0
- agentprov-0.1.1/src/agentprov/prov/rules/top.py +247 -0
- agentprov-0.1.1/src/agentprov/prov/serialise/__init__.py +1 -0
- agentprov-0.1.1/src/agentprov/prov/serialise/nquads.py +48 -0
- agentprov-0.1.1/src/agentprov/prov/serialise/provjson.py +24 -0
- agentprov-0.1.1/src/agentprov/prov/serialise/time.py +40 -0
- agentprov-0.1.1/src/agentprov/prov/serialise/trig.py +187 -0
- agentprov-0.1.1/src/agentprov/prov/specs.py +169 -0
- agentprov-0.1.1/src/agentprov/prov/vocab.py +107 -0
- agentprov-0.1.1/src/agentprov/raw/__init__.py +61 -0
- agentprov-0.1.1/src/agentprov/raw/carve.py +211 -0
- agentprov-0.1.1/src/agentprov/raw/fetch.py +1622 -0
- agentprov-0.1.1/src/agentprov/raw/history.py +368 -0
- agentprov-0.1.1/src/agentprov/raw/members.py +1280 -0
- agentprov-0.1.1/src/agentprov/raw/origins.py +484 -0
- agentprov-0.1.1/src/agentprov/raw/references.py +211 -0
- agentprov-0.1.1/src/agentprov/raw/store.py +595 -0
- agentprov-0.1.1/src/agentprov/raw/testjobs.py +35 -0
- agentprov-0.1.1/src/agentprov/release/__init__.py +54 -0
- agentprov-0.1.1/src/agentprov/release/builder.py +892 -0
- agentprov-0.1.1/src/agentprov/release/index.py +767 -0
- agentprov-0.1.1/src/agentprov/release/metadata.py +556 -0
- agentprov-0.1.1/src/agentprov/release/verify.py +478 -0
- agentprov-0.1.1/src/agentprov/render/__init__.py +37 -0
- agentprov-0.1.1/src/agentprov/render/dot.py +254 -0
- agentprov-0.1.1/src/agentprov/render/errors.py +73 -0
- agentprov-0.1.1/src/agentprov/render/graph.py +314 -0
- agentprov-0.1.1/src/agentprov/render/output.py +73 -0
- agentprov-0.1.1/src/agentprov/render/source.py +129 -0
- agentprov-0.1.1/src/agentprov/render/style.py +333 -0
- agentprov-0.1.1/src/agentprov/schemas/aer-0.1.schema.json +4272 -0
- agentprov-0.1.1/src/agentprov/schemas/aer-0.2.schema.json +4339 -0
- agentprov-0.1.1/src/agentprov/schemas/capture-0.1.schema.json +1830 -0
- agentprov-0.1.1/src/agentprov/schemas/corpus-0.1.schema.json +4750 -0
- agentprov-0.1.1/src/agentprov/schemas/corpus-0.2.schema.json +5566 -0
- agentprov-0.1.1/src/agentprov/schemas/withheld-0.1.schema.json +342 -0
- agentprov-0.1.1/src/agentprov/schemas/withheld-0.2.schema.json +343 -0
- agentprov-0.1.1/src/agentprov/schemas/withheld-0.3.schema.json +344 -0
- agentprov-0.1.1/src/agentprov/schemas/withheld-0.4.schema.json +345 -0
- agentprov-0.1.1/src/agentprov/schemas/withheld-0.5.schema.json +346 -0
- agentprov-0.1.1/src/agentprov/sem/__init__.py +1 -0
- agentprov-0.1.1/src/agentprov/sem/engine.py +136 -0
- agentprov-0.1.1/src/agentprov/sem/profiles.py +59 -0
- agentprov-0.1.1/src/agentprov/sem/reader.py +113 -0
- agentprov-0.1.1/src/agentprov/sem/types.py +238 -0
- agentprov-0.1.1/src/agentprov/sem/validate.py +717 -0
- agentprov-0.1.1/src/agentprov/settings.py +374 -0
- agentprov-0.1.1/src/agentprov/stage_definitions.py +142 -0
- agentprov-0.1.1/src/agentprov/stage_scopes.py +320 -0
- agentprov-0.1.1/src/agentprov/stats/__init__.py +129 -0
- agentprov-0.1.1/src/agentprov/stats/datasheet.py +75 -0
- agentprov-0.1.1/src/agentprov/stats/exclusions.py +136 -0
- agentprov-0.1.1/src/agentprov/stats/field_groups.toml +278 -0
- agentprov-0.1.1/src/agentprov/stats/fieldgroups.py +460 -0
- agentprov-0.1.1/src/agentprov/stats/output.py +166 -0
- agentprov-0.1.1/src/agentprov/stats/source.py +268 -0
- agentprov-0.1.1/src/agentprov/stats/tables.py +566 -0
- agentprov-0.1.1/src/agentprov/testing/__init__.py +18 -0
- agentprov-0.1.1/src/agentprov/testing/fixture_caps.py +161 -0
- agentprov-0.1.1/src/agentprov/testing/fs_guard.py +140 -0
- agentprov-0.1.1/src/agentprov/testing/golden.py +630 -0
- agentprov-0.1.1/src/agentprov/testing/local_server.py +145 -0
- agentprov-0.1.1/src/agentprov/testing/projections.py +12 -0
- agentprov-0.1.1/src/agentprov/testing/sem_v23.py +153 -0
- agentprov-0.1.1/src/agentprov/validate/__init__.py +28 -0
- agentprov-0.1.1/src/agentprov/validate/_provdoc.py +264 -0
- agentprov-0.1.1/src/agentprov/validate/cache.py +449 -0
- agentprov-0.1.1/src/agentprov/validate/constraints.py +399 -0
- agentprov-0.1.1/src/agentprov/validate/linkage.py +727 -0
- agentprov-0.1.1/src/agentprov/validate/profiles.py +745 -0
- agentprov-0.1.1/src/agentprov/validate/prov.py +100 -0
- agentprov-0.1.1/src/agentprov/validate/prov_structure.py +474 -0
- agentprov-0.1.1/src/agentprov/validate/roundtrip.py +416 -0
- agentprov-0.1.1/src/agentprov/validate/tiers.py +171 -0
- agentprov-0.1.1/src/agentprov/versions.py +41 -0
- agentprov-0.1.1/src/agentprov/views/__init__.py +11 -0
- agentprov-0.1.1/src/agentprov/views/transcript_v1.py +680 -0
- agentprov-0.1.1/src/agentprov/views/transcript_v1_fields.toml +313 -0
- agentprov-0.1.1/src/agentprov/vocab/apv-0.2.ttl +2792 -0
- agentprov-0.1.1/src/agentprov/vocab/apv-adprov-map-0.1.ttl +106 -0
- agentprov-0.1.1/src/agentprov/worker.py +123 -0
agentprov-0.1.1/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Nicholas Jones
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
agentprov-0.1.1/PKG-INFO
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: agentprov
|
|
3
|
+
Version: 0.1.1
|
|
4
|
+
Summary: AgentPROV: an execution-provenance framework for LLM-agent security research — source-preserving, evidence-qualified execution records and defensible W3C PROV, with benchmark/framework adapters
|
|
5
|
+
Keywords: provenance,W3C PROV,LLM agents,prompt injection,agent security,reproducibility
|
|
6
|
+
Author: Nicholas Jones
|
|
7
|
+
License-Expression: MIT
|
|
8
|
+
License-File: LICENSE
|
|
9
|
+
License-File: THIRD_PARTY_NOTICES.md
|
|
10
|
+
Classifier: Development Status :: 3 - Alpha
|
|
11
|
+
Classifier: Intended Audience :: Science/Research
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
13
|
+
Classifier: Topic :: Security
|
|
14
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
15
|
+
Requires-Dist: prov>=3.2.2
|
|
16
|
+
Requires-Dist: rdflib>=7.6.0
|
|
17
|
+
Requires-Dist: rfc8785>=0.1.4
|
|
18
|
+
Requires-Dist: pyyaml>=6.0.3
|
|
19
|
+
Requires-Dist: agentprov-capture
|
|
20
|
+
Requires-Dist: keyring>=25.6,<26
|
|
21
|
+
Requires-Dist: psutil>=7.2,<9
|
|
22
|
+
Requires-Dist: python-dotenv>=1.2.2 ; extra == 'live'
|
|
23
|
+
Requires-Dist: pydot>=4.0.1 ; extra == 'render'
|
|
24
|
+
Requires-Dist: pyshacl>=0.40.1 ; extra == 'shacl'
|
|
25
|
+
Requires-Dist: agentprov-zenodo ; extra == 'zenodo'
|
|
26
|
+
Requires-Python: >=3.14
|
|
27
|
+
Project-URL: Homepage, https://w3id.org/agentprov/
|
|
28
|
+
Project-URL: Documentation, https://w3id.org/agentprov/docs/
|
|
29
|
+
Project-URL: Source, https://github.com/nickjones39/AgentPROV
|
|
30
|
+
Provides-Extra: live
|
|
31
|
+
Provides-Extra: render
|
|
32
|
+
Provides-Extra: shacl
|
|
33
|
+
Provides-Extra: zenodo
|
|
34
|
+
Description-Content-Type: text/markdown
|
|
35
|
+
|
|
36
|
+
# agentprov
|
|
37
|
+
|
|
38
|
+
AgentPROV turns agent executions into a source-preserving, evidence-qualified canonical record, and derives W3C PROV
|
|
39
|
+
from that record. The executions can be captured live or released by other research projects. Every derived PROV
|
|
40
|
+
statement names its evidence class, the rule that produced it, and the field of the record that justifies it. Corpora
|
|
41
|
+
are hash-chained from the original raw bytes to the final graph. You can verify and recompute them without
|
|
42
|
+
re-running any model.
|
|
43
|
+
|
|
44
|
+
This package is the `agentprov` command-line program and library. It installs the capture library
|
|
45
|
+
([`agentprov-capture`](https://pypi.org/project/agentprov-capture/)) with it; the draft-only Zenodo uploader
|
|
46
|
+
([`agentprov-zenodo`](https://pypi.org/project/agentprov-zenodo/)) comes with the `zenodo` extra.
|
|
47
|
+
|
|
48
|
+
- Website: <https://w3id.org/agentprov/>
|
|
49
|
+
- User guide: <https://w3id.org/agentprov/docs/>
|
|
50
|
+
- Source code: <https://github.com/nickjones39/AgentPROV>
|
|
51
|
+
- Software on Zenodo: <https://doi.org/10.5281/zenodo.23848609>
|
|
52
|
+
- Corpora on Zenodo (one collection): <https://doi.org/10.5281/zenodo.23814758>
|
|
53
|
+
|
|
54
|
+
## Install
|
|
55
|
+
|
|
56
|
+
Python 3.14.8 or later:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
pip install agentprov # or: uv tool install agentprov
|
|
60
|
+
pip install "agentprov[zenodo]" # with the draft-only Zenodo uploader
|
|
61
|
+
agentprov info # versions, the source registry, extras, host isolation grade
|
|
62
|
+
agentprov --help
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
The desktop app is a separate download for macOS, Windows and Linux, on the
|
|
66
|
+
[releases page](https://github.com/nickjones39/AgentPROV/releases/latest). Live runs need the repository checkout: the
|
|
67
|
+
benchmark backends are separate projects that this package does not contain.
|
|
68
|
+
|
|
69
|
+
## What it does
|
|
70
|
+
|
|
71
|
+
- **Import** released agent logs (48 sources in 13 formats, single-agent tool-calling traces) and live captures into
|
|
72
|
+
one canonical execution record (`aer/0.2`), through isolated, resource-limited workers.
|
|
73
|
+
- **Derive** semantic annotations (`sem/0.1`) and W3C PROV-JSON in three bundles: core (observed and derived
|
|
74
|
+
statements), inference and assessment (`agentprov-prov/0.1`).
|
|
75
|
+
- **Validate** each stage, **verify** a corpus's hash chain against its root digest, and **recompute** the derivation
|
|
76
|
+
byte for byte without calling a model.
|
|
77
|
+
- **Package** a corpus with its datasheet and checksums for an offline deposit; `package` never uploads. The separate
|
|
78
|
+
uploader creates unpublished Zenodo drafts only, and publishing is always done by hand on Zenodo.
|
|
79
|
+
|
|
80
|
+
The [user guide](https://w3id.org/agentprov/docs/) walks through each step on a small demo corpus, and its command
|
|
81
|
+
reference lists every command's `--help`.
|
|
82
|
+
|
|
83
|
+
## Citation
|
|
84
|
+
|
|
85
|
+
```bibtex
|
|
86
|
+
@software{jones_agentprov_2026,
|
|
87
|
+
author = {Jones, Nicholas},
|
|
88
|
+
title = {AgentPROV: execution provenance for LLM-agent security research},
|
|
89
|
+
version = {0.1.1},
|
|
90
|
+
year = {2026},
|
|
91
|
+
license = {MIT},
|
|
92
|
+
url = {https://github.com/nickjones39/AgentPROV}
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Licence
|
|
97
|
+
|
|
98
|
+
MIT, © 2026 Nicholas Jones. Third-party code and data licences are listed in
|
|
99
|
+
[`THIRD_PARTY_NOTICES.md`](https://github.com/nickjones39/AgentPROV/blob/main/THIRD_PARTY_NOTICES.md).
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# Third-party notices
|
|
2
|
+
|
|
3
|
+
AgentPROV's own code is MIT-licensed (see `LICENSE`). This file records third-party material that is
|
|
4
|
+
incorporated into, adapted by, or used under licence by this repository. It also records the licence
|
|
5
|
+
bases of the external execution data AgentPROV can import. **AgentPROV does not redistribute any
|
|
6
|
+
external corpus in Git.** Imported raw artefacts are handled per source under the raw policy
|
|
7
|
+
(`include` / `reference` / `withhold`) recorded in each corpus manifest.
|
|
8
|
+
|
|
9
|
+
## Code adapted or mirrored
|
|
10
|
+
|
|
11
|
+
| Component | Origin | Licence | Where |
|
|
12
|
+
|---|---|---|---|
|
|
13
|
+
| AgentDojo-PROV (baseline framework) | `nickjones39/agentdojo-prov` @ `579a908` | MIT, © 2026 Nicholas Jones | verbatim compat port under `src/agentprov/prov/compat/adprov_v2_3/`; capture logic in `backends/shared/` |
|
|
14
|
+
| AgentDojo `ToolsExecutor.query` mirror and the June-2024 security checkers (compat/replay only) | `ethz-spylab/agentdojo` (v0.1.35; June-2024 blobs) | MIT, © 2024 Edoardo Debenedetti, Jie Zhang, Mislav Balunovic, Luca Beurer-Kellner, Marc Fischer, Florian Tramèr | `backends/shared/` (executor mirror) |
|
|
15
|
+
|
|
16
|
+
The live backends (`backends/agentdojo`, `backends/autodojo`, `backends/agentdyn`, `backends/inspect`) *install*
|
|
17
|
+
third-party benchmark code into isolated environments. They do not vendor it:
|
|
18
|
+
- `agentdojo==0.1.35` (PyPI; MIT)
|
|
19
|
+
- the AutoDojo fork `xhOwenMa/AutoDojo` @ `aa458794b7eb7f082e94daeac4c0f55bfc0c90cc` (MIT, © 2026 Ma,
|
|
20
|
+
Li, Xiao, Yu, Zhang, Vorobeychik; contains AgentDojo MIT code and vendored defences under their own
|
|
21
|
+
licences)
|
|
22
|
+
- AgentDyn `SaFo-Lab/AgentDyn` @ `5353cf76` (repository MIT, whose text is AgentDojo's)
|
|
23
|
+
- for the Inspect harness: `inspect-ai` 0.3.263 and `inspect-evals` 0.20.0 (PyPI; MIT), and the AgentHarm dataset
|
|
24
|
+
at revision `e23b3fe6` (MIT with an additional clause: use only to improve AI safety and security)
|
|
25
|
+
|
|
26
|
+
The desktop app's bundles redistribute Qt and PySide6 (LGPL-3.0) and further Python packages; their notices are in
|
|
27
|
+
[`gui/THIRD_PARTY_NOTICES.md`](gui/THIRD_PARTY_NOTICES.md).
|
|
28
|
+
|
|
29
|
+
## Execution data AgentPROV can import (not redistributed here)
|
|
30
|
+
|
|
31
|
+
Licence bases are as recorded by the investigation of 2026-10-07; the table lists the sources known then. Every
|
|
32
|
+
registered source and part, with its SPDX licence id, is in the README's generated sources table, and every declared
|
|
33
|
+
corpus with its licence in the user guide's [Corpora and where they come from](docs/user-guide/14-corpora.md). Corpus
|
|
34
|
+
manifests record the licences verbatim.
|
|
35
|
+
|
|
36
|
+
| Source | Licence basis of released logs |
|
|
37
|
+
|---|---|
|
|
38
|
+
| AgentDojo upstream runs | repository MIT (no separate data licence) |
|
|
39
|
+
| ROPE (incl. AutoDojo-attack runs) | repository MIT |
|
|
40
|
+
| AgentDyn | repository MIT, whose text is AgentDojo's; the data licence is not explicit |
|
|
41
|
+
| DRIFT | MIT (added 2026-07-16) |
|
|
42
|
+
| Mandate-AgentDojo-Eval | MIT |
|
|
43
|
+
| Agent Security Tools Survey (Zenodo) | CC-BY-4.0. Embedded third-party data keeps its own licence; AgentHarm data carries a use clause. |
|
|
44
|
+
| MultiTurnAgentAttack (STAC) | CC BY-NC 4.0 (non-commercial) |
|
|
45
|
+
| CIAware-Bench | no licence. Reference-only; never redistributed. |
|
|
46
|
+
| DTap-Bench (AI-Secure, Hugging Face run logs and task definitions) | Apache-2.0 (dataset cards; upstream AI-secure/DecodingTrust-Agent LICENSE) |
|
|
47
|
+
| Interbolt on AgentDojo (deconvolute-labs) | Apache-2.0 |
|
|
48
|
+
| MELON (xwsdid/MELON) | MIT (upstream AgentDojo text) |
|
|
49
|
+
| Glitch (zanethomas1430-code) | MIT |
|
|
50
|
+
| UBAG gateway (mohameduk/agentdojo) | MIT (upstream AgentDojo text) |
|
|
51
|
+
| TACIT (CSSLab/Tacit) | Apache-2.0 |
|
|
52
|
+
| Geryon (luiacuaniello) | Apache-2.0 |
|
|
53
|
+
| In-context trajectory poisoning (HilaryTorn) | MIT |
|
|
54
|
+
| Prompt injection harness (yockcheng) | Apache-2.0 |
|
|
55
|
+
| llm_safety (ShreeyaVarma) | MIT (upstream AgentDojo text) |
|
|
56
|
+
| jspace-agentdojo-950 (kongminOS) | MIT |
|
|
57
|
+
| ceferisbarov/agentdojo reruns | MIT (upstream AgentDojo text) |
|
|
58
|
+
| Linyxus/agentdojo lacuna-exp | MIT (upstream AgentDojo text) |
|
|
59
|
+
| CrAIBench (AthaSSiN) | MIT |
|
|
60
|
+
| IPI multidomain agent study (Menelaus29) | MIT |
|
|
61
|
+
| gate (dafarusd) | **AGPL-3.0-only** (copyleft; its own corpus, D-25/D-94) |
|
|
62
|
+
| SENTRY (vinhqdang) | **AGPL-3.0-only** (copyleft; its own corpus) |
|
|
63
|
+
| aiAuthZ (Sports-Vision-Inc) | **AGPL-3.0-only** (copyleft; its own corpus) |
|
|
64
|
+
| Munim / bookkeeper (sricursion) | **GPL-3.0-or-later** (copyleft; its own corpus) |
|
|
65
|
+
| LLMLock (Wakeful-Cloud/llm-lock) | **GPL-3.0** (copyleft; its own corpus; the LICENSE states no version choice) |
|
|
66
|
+
|
|
67
|
+
Small test fixtures are derived from these sources. Each carries its own `SOURCE.json`, which records origin, commit,
|
|
68
|
+
licence and licence class. Fixtures of licence class `permissive` are part of the repository; the others (for example
|
|
69
|
+
the restricted-use AgentHarm excerpts) stay in the private development repository, and the tests that need them skip.
|
|
70
|
+
The copyleft sources' tests use synthetic fixtures (see below).
|
|
71
|
+
|
|
72
|
+
**Copyleft sources: synthetic fixtures only (D-945).** The repository holds no logs, excerpts or licence texts of the
|
|
73
|
+
AGPL-3.0 and GPL-3.0 sources (gate, SENTRY, aiAuthZ, bookkeeper, llm-lock). Their tests run on synthetic fixtures under
|
|
74
|
+
`tests/fixtures/{gate,sentry,aiauthz,bookkeeper,llm-lock}/`: self-authored AgentDojo TraceLogger logs, written by
|
|
75
|
+
`tests/adapters/agentdojo/phase10d_synthetic.py`, that follow each source's directory layout and dialect. Their
|
|
76
|
+
`SOURCE.json` entries record `synthetic: true`, `licence_class: permissive` and the repository's MIT licence. Two values
|
|
77
|
+
are filled in only when the tests run, and no fixture file stores them: the synthetic injection sentence, which is
|
|
78
|
+
assembled from fragments, and AgentDojo's default system prompt (MIT, © 2024 Debenedetti et al.), which is read from the
|
|
79
|
+
permissive `tests/fixtures/agentdojo/head/` fixtures. The real excerpts that these fixtures replace had licence class
|
|
80
|
+
`restricted` and were approved for the private repository only (user decision, 2026-10-12). They stay in the private
|
|
81
|
+
development history and are not part of the release commit or any package.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# agentprov
|
|
2
|
+
|
|
3
|
+
AgentPROV turns agent executions into a source-preserving, evidence-qualified canonical record, and derives W3C PROV
|
|
4
|
+
from that record. The executions can be captured live or released by other research projects. Every derived PROV
|
|
5
|
+
statement names its evidence class, the rule that produced it, and the field of the record that justifies it. Corpora
|
|
6
|
+
are hash-chained from the original raw bytes to the final graph. You can verify and recompute them without
|
|
7
|
+
re-running any model.
|
|
8
|
+
|
|
9
|
+
This package is the `agentprov` command-line program and library. It installs the capture library
|
|
10
|
+
([`agentprov-capture`](https://pypi.org/project/agentprov-capture/)) with it; the draft-only Zenodo uploader
|
|
11
|
+
([`agentprov-zenodo`](https://pypi.org/project/agentprov-zenodo/)) comes with the `zenodo` extra.
|
|
12
|
+
|
|
13
|
+
- Website: <https://w3id.org/agentprov/>
|
|
14
|
+
- User guide: <https://w3id.org/agentprov/docs/>
|
|
15
|
+
- Source code: <https://github.com/nickjones39/AgentPROV>
|
|
16
|
+
- Software on Zenodo: <https://doi.org/10.5281/zenodo.23848609>
|
|
17
|
+
- Corpora on Zenodo (one collection): <https://doi.org/10.5281/zenodo.23814758>
|
|
18
|
+
|
|
19
|
+
## Install
|
|
20
|
+
|
|
21
|
+
Python 3.14.8 or later:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
pip install agentprov # or: uv tool install agentprov
|
|
25
|
+
pip install "agentprov[zenodo]" # with the draft-only Zenodo uploader
|
|
26
|
+
agentprov info # versions, the source registry, extras, host isolation grade
|
|
27
|
+
agentprov --help
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
The desktop app is a separate download for macOS, Windows and Linux, on the
|
|
31
|
+
[releases page](https://github.com/nickjones39/AgentPROV/releases/latest). Live runs need the repository checkout: the
|
|
32
|
+
benchmark backends are separate projects that this package does not contain.
|
|
33
|
+
|
|
34
|
+
## What it does
|
|
35
|
+
|
|
36
|
+
- **Import** released agent logs (48 sources in 13 formats, single-agent tool-calling traces) and live captures into
|
|
37
|
+
one canonical execution record (`aer/0.2`), through isolated, resource-limited workers.
|
|
38
|
+
- **Derive** semantic annotations (`sem/0.1`) and W3C PROV-JSON in three bundles: core (observed and derived
|
|
39
|
+
statements), inference and assessment (`agentprov-prov/0.1`).
|
|
40
|
+
- **Validate** each stage, **verify** a corpus's hash chain against its root digest, and **recompute** the derivation
|
|
41
|
+
byte for byte without calling a model.
|
|
42
|
+
- **Package** a corpus with its datasheet and checksums for an offline deposit; `package` never uploads. The separate
|
|
43
|
+
uploader creates unpublished Zenodo drafts only, and publishing is always done by hand on Zenodo.
|
|
44
|
+
|
|
45
|
+
The [user guide](https://w3id.org/agentprov/docs/) walks through each step on a small demo corpus, and its command
|
|
46
|
+
reference lists every command's `--help`.
|
|
47
|
+
|
|
48
|
+
## Citation
|
|
49
|
+
|
|
50
|
+
```bibtex
|
|
51
|
+
@software{jones_agentprov_2026,
|
|
52
|
+
author = {Jones, Nicholas},
|
|
53
|
+
title = {AgentPROV: execution provenance for LLM-agent security research},
|
|
54
|
+
version = {0.1.1},
|
|
55
|
+
year = {2026},
|
|
56
|
+
license = {MIT},
|
|
57
|
+
url = {https://github.com/nickjones39/AgentPROV}
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Licence
|
|
62
|
+
|
|
63
|
+
MIT, © 2026 Nicholas Jones. Third-party code and data licences are listed in
|
|
64
|
+
[`THIRD_PARTY_NOTICES.md`](https://github.com/nickjones39/AgentPROV/blob/main/THIRD_PARTY_NOTICES.md).
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "agentprov"
|
|
3
|
+
version = "0.1.1"
|
|
4
|
+
description = "AgentPROV: an execution-provenance framework for LLM-agent security research — source-preserving, evidence-qualified execution records and defensible W3C PROV, with benchmark/framework adapters"
|
|
5
|
+
readme = "docs/pypi/agentprov.md"
|
|
6
|
+
requires-python = ">=3.14"
|
|
7
|
+
license = "MIT"
|
|
8
|
+
license-files = [
|
|
9
|
+
"LICENSE",
|
|
10
|
+
"THIRD_PARTY_NOTICES.md",
|
|
11
|
+
]
|
|
12
|
+
keywords = [
|
|
13
|
+
"provenance",
|
|
14
|
+
"W3C PROV",
|
|
15
|
+
"LLM agents",
|
|
16
|
+
"prompt injection",
|
|
17
|
+
"agent security",
|
|
18
|
+
"reproducibility",
|
|
19
|
+
]
|
|
20
|
+
classifiers = [
|
|
21
|
+
"Development Status :: 3 - Alpha",
|
|
22
|
+
"Intended Audience :: Science/Research",
|
|
23
|
+
"Programming Language :: Python :: 3.14",
|
|
24
|
+
"Topic :: Security",
|
|
25
|
+
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
26
|
+
]
|
|
27
|
+
dependencies = [
|
|
28
|
+
"prov>=3.2.2",
|
|
29
|
+
"rdflib>=7.6.0",
|
|
30
|
+
"rfc8785>=0.1.4",
|
|
31
|
+
"pyyaml>=6.0.3",
|
|
32
|
+
"agentprov-capture",
|
|
33
|
+
"keyring>=25.6,<26",
|
|
34
|
+
"psutil>=7.2,<9",
|
|
35
|
+
]
|
|
36
|
+
|
|
37
|
+
[[project.authors]]
|
|
38
|
+
name = "Nicholas Jones"
|
|
39
|
+
|
|
40
|
+
[project.urls]
|
|
41
|
+
Homepage = "https://w3id.org/agentprov/"
|
|
42
|
+
Documentation = "https://w3id.org/agentprov/docs/"
|
|
43
|
+
Source = "https://github.com/nickjones39/AgentPROV"
|
|
44
|
+
|
|
45
|
+
[project.optional-dependencies]
|
|
46
|
+
live = ["python-dotenv>=1.2.2"]
|
|
47
|
+
shacl = ["pyshacl>=0.40.1"]
|
|
48
|
+
render = ["pydot>=4.0.1"]
|
|
49
|
+
zenodo = ["agentprov-zenodo"]
|
|
50
|
+
|
|
51
|
+
[project.scripts]
|
|
52
|
+
agentprov = "agentprov.cli.main:main"
|
|
53
|
+
|
|
54
|
+
[dependency-groups]
|
|
55
|
+
dev = [
|
|
56
|
+
"pytest>=9.1.1",
|
|
57
|
+
"hypothesis>=6.168.5",
|
|
58
|
+
"ruff>=0.16.10",
|
|
59
|
+
"mypy>=2.4.0",
|
|
60
|
+
"jsonschema>=4.26.0",
|
|
61
|
+
"types-pyyaml>=6.0.12",
|
|
62
|
+
"pytest-xdist>=3.8",
|
|
63
|
+
"pytest-testmon>=2.1",
|
|
64
|
+
"agentprov-zenodo",
|
|
65
|
+
]
|
|
66
|
+
docs = [
|
|
67
|
+
"mkdocs==1.6.1",
|
|
68
|
+
"mkdocs-material==9.7.7",
|
|
69
|
+
]
|
|
70
|
+
|
|
71
|
+
[build-system]
|
|
72
|
+
requires = ["uv_build>=0.12.18,<0.13"]
|
|
73
|
+
build-backend = "uv_build"
|
|
74
|
+
|
|
75
|
+
[tool.uv]
|
|
76
|
+
required-version = ">=0.12.22"
|
|
77
|
+
exclude-newer = "2026-10-07T00:00:00Z"
|
|
78
|
+
default-groups = ["dev"]
|
|
79
|
+
|
|
80
|
+
[tool.uv.exclude-newer-package]
|
|
81
|
+
certifi = "2026-11-01T00:00:00Z"
|
|
82
|
+
|
|
83
|
+
[tool.uv.workspace]
|
|
84
|
+
members = [
|
|
85
|
+
"capture",
|
|
86
|
+
"zenodo",
|
|
87
|
+
]
|
|
88
|
+
|
|
89
|
+
[tool.uv.sources.agentprov-capture]
|
|
90
|
+
workspace = true
|
|
91
|
+
|
|
92
|
+
[tool.uv.sources.agentprov-zenodo]
|
|
93
|
+
workspace = true
|
|
94
|
+
|
|
95
|
+
[tool.pytest.ini_options]
|
|
96
|
+
testpaths = ["tests"]
|
|
97
|
+
addopts = "-ra --strict-markers --import-mode=importlib"
|
|
98
|
+
markers = [
|
|
99
|
+
"slow: slower tests (run in CI, skipped with -m 'not slow')",
|
|
100
|
+
"network: needs network access (never in default CI)",
|
|
101
|
+
"backend_agentdojo: needs the backends/agentdojo environment",
|
|
102
|
+
"backend_autodojo: needs the backends/autodojo environment",
|
|
103
|
+
"backend_agentdyn: needs the backends/agentdyn environment",
|
|
104
|
+
"backend_inspect: needs a backends/inspect environment (inspect_ai, inspect_evals and the pinned dataset)",
|
|
105
|
+
"full_corpus: needs the local baseline corpora (AGENTPROV_BASELINE_CORPUS)",
|
|
106
|
+
"old_package: needs agentdojo-prov 1.0.0 @ 579a908 in a separate interpreter and the C6 producer's work dir (AGENTPROV_C6_WORK)",
|
|
107
|
+
"render: needs the render extra (pydot) and, for images, the graphviz dot binary; skipped with the reason when absent",
|
|
108
|
+
"live_artefacts: consumes capture/0.1 sessions produced by a backend job (AGENTPROV_LIVE_ARTEFACTS; K.8.5)",
|
|
109
|
+
]
|
|
110
|
+
filterwarnings = [
|
|
111
|
+
"error::UserWarning:agentprov.*",
|
|
112
|
+
"ignore:Dataset.default_context is deprecated:DeprecationWarning:rdflib.graph",
|
|
113
|
+
]
|
|
114
|
+
|
|
115
|
+
[tool.ruff]
|
|
116
|
+
line-length = 110
|
|
117
|
+
target-version = "py314"
|
|
118
|
+
extend-exclude = [
|
|
119
|
+
"backends/*/.venv",
|
|
120
|
+
"docs/architecture/examples",
|
|
121
|
+
"docs/reports/systematic-search/data",
|
|
122
|
+
"docs/reports/systematic-search/scripts",
|
|
123
|
+
"docs/reports/precheck/data",
|
|
124
|
+
]
|
|
125
|
+
|
|
126
|
+
[tool.ruff.lint]
|
|
127
|
+
select = [
|
|
128
|
+
"E4",
|
|
129
|
+
"E7",
|
|
130
|
+
"E9",
|
|
131
|
+
"F",
|
|
132
|
+
"B",
|
|
133
|
+
"UP",
|
|
134
|
+
"T20",
|
|
135
|
+
"PLE2502",
|
|
136
|
+
"S102",
|
|
137
|
+
"S301",
|
|
138
|
+
"S307",
|
|
139
|
+
"S506",
|
|
140
|
+
]
|
|
141
|
+
|
|
142
|
+
[tool.ruff.lint.per-file-ignores]
|
|
143
|
+
"src/agentprov/cli/**" = ["T20"]
|
|
144
|
+
"tests/**" = ["T20"]
|
|
145
|
+
"tools/**" = ["T20"]
|
|
146
|
+
"src/agentprov/io/worker_testjobs.py" = ["T20"]
|
|
147
|
+
"src/agentprov/prov/compat/adprov_v2_3/build_prov.py" = [
|
|
148
|
+
"B",
|
|
149
|
+
"BLE",
|
|
150
|
+
"UP",
|
|
151
|
+
"S",
|
|
152
|
+
"E7",
|
|
153
|
+
]
|
|
154
|
+
"src/agentprov/prov/compat/adprov_v2_3/prov_emit.py" = [
|
|
155
|
+
"B",
|
|
156
|
+
"BLE",
|
|
157
|
+
"UP",
|
|
158
|
+
"S",
|
|
159
|
+
"E7",
|
|
160
|
+
]
|
|
161
|
+
"src/agentprov/prov/compat/adprov_v2_3/labeling.py" = [
|
|
162
|
+
"B",
|
|
163
|
+
"BLE",
|
|
164
|
+
"UP",
|
|
165
|
+
"S",
|
|
166
|
+
"E7",
|
|
167
|
+
]
|
|
168
|
+
"src/agentprov/prov/compat/adprov_v2_3/validate.py" = [
|
|
169
|
+
"B",
|
|
170
|
+
"BLE",
|
|
171
|
+
"UP",
|
|
172
|
+
"S",
|
|
173
|
+
"E7",
|
|
174
|
+
]
|
|
175
|
+
"src/agentprov/prov/compat/adprov_v2_3/conformance.py" = [
|
|
176
|
+
"B",
|
|
177
|
+
"BLE",
|
|
178
|
+
"UP",
|
|
179
|
+
"S",
|
|
180
|
+
"E7",
|
|
181
|
+
]
|
|
182
|
+
"tests/prov/compat/adprov_v2_3/test_*.py" = ["B905"]
|
|
183
|
+
|
|
184
|
+
[tool.mypy]
|
|
185
|
+
python_version = "3.14"
|
|
186
|
+
strict = false
|
|
187
|
+
warn_unused_ignores = true
|
|
188
|
+
packages = ["agentprov"]
|
|
189
|
+
mypy_path = "src"
|
|
190
|
+
|
|
191
|
+
[[tool.mypy.overrides]]
|
|
192
|
+
module = [
|
|
193
|
+
"agentprov.prov.compat.adprov_v2_3.build_prov",
|
|
194
|
+
"agentprov.prov.compat.adprov_v2_3.prov_emit",
|
|
195
|
+
"agentprov.prov.compat.adprov_v2_3.labeling",
|
|
196
|
+
"agentprov.prov.compat.adprov_v2_3.validate",
|
|
197
|
+
"agentprov.prov.compat.adprov_v2_3.conformance",
|
|
198
|
+
]
|
|
199
|
+
ignore_errors = true
|
|
200
|
+
|
|
201
|
+
[[tool.mypy.overrides]]
|
|
202
|
+
module = [
|
|
203
|
+
"pydot",
|
|
204
|
+
"pydot.*",
|
|
205
|
+
]
|
|
206
|
+
ignore_missing_imports = true
|
|
207
|
+
|
|
208
|
+
[[tool.mypy.overrides]]
|
|
209
|
+
module = [
|
|
210
|
+
"psutil",
|
|
211
|
+
"psutil.*",
|
|
212
|
+
]
|
|
213
|
+
ignore_missing_imports = true
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "agentprov"
|
|
3
|
+
version = "0.1.1"
|
|
4
|
+
description = "AgentPROV: an execution-provenance framework for LLM-agent security research — source-preserving, evidence-qualified execution records and defensible W3C PROV, with benchmark/framework adapters"
|
|
5
|
+
readme = "docs/pypi/agentprov.md" # the PyPI page: absolute links; README.md is the repository's
|
|
6
|
+
requires-python = ">=3.14" # stdlib zstd (PEP 784), tar 'data' filter default, 2025-26 archive CVE fixes; see docs/architecture
|
|
7
|
+
license = "MIT"
|
|
8
|
+
license-files = ["LICENSE", "THIRD_PARTY_NOTICES.md"]
|
|
9
|
+
authors = [{ name = "Nicholas Jones" }]
|
|
10
|
+
keywords = ["provenance", "W3C PROV", "LLM agents", "prompt injection", "agent security", "reproducibility"]
|
|
11
|
+
classifiers = [
|
|
12
|
+
"Development Status :: 3 - Alpha",
|
|
13
|
+
"Intended Audience :: Science/Research",
|
|
14
|
+
"Programming Language :: Python :: 3.14",
|
|
15
|
+
"Topic :: Security",
|
|
16
|
+
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
17
|
+
]
|
|
18
|
+
# Core runtime dependencies are deliberately few. Untrusted bytes are parsed with the stdlib only
|
|
19
|
+
# (src/agentprov/ingest/); no benchmark package (agentdojo, inspect_ai, ...) is ever imported by the core.
|
|
20
|
+
dependencies = [
|
|
21
|
+
"prov>=3.2.2", # PROV model, PROV-JSON <-> PROV-O serialisation
|
|
22
|
+
"rdflib>=7.6.0", # PROV-O round-trip / RDF checks
|
|
23
|
+
"rfc8785>=0.1.4", # RFC 8785 JSON Canonicalisation Scheme (AER lines, digests)
|
|
24
|
+
"pyyaml>=6.0.3", # only via agentprov.ingest.yamlsafe (injection-marker normaliser, compat port)
|
|
25
|
+
"agentprov-capture", # capture/0.1 event model + hash-chain verifier (shared with live backends)
|
|
26
|
+
"keyring>=25.6,<26", # D-702: `agentprov keys` and `run --keychain`; imported only by agentprov.keys.helper
|
|
27
|
+
"psutil>=7.2,<9", # D-704: job identity (pid + create time) and process trees; agentprov.jobs only
|
|
28
|
+
]
|
|
29
|
+
|
|
30
|
+
[project.urls]
|
|
31
|
+
Homepage = "https://w3id.org/agentprov/"
|
|
32
|
+
Documentation = "https://w3id.org/agentprov/docs/"
|
|
33
|
+
Source = "https://github.com/nickjones39/AgentPROV"
|
|
34
|
+
|
|
35
|
+
[project.optional-dependencies]
|
|
36
|
+
live = ["python-dotenv>=1.2.2"] # read .env at the live CLI entry only
|
|
37
|
+
shacl = ["pyshacl>=0.40.1"] # optional SHACL profile shapes
|
|
38
|
+
render = ["pydot>=4.0.1"] # agentprov render (also needs the graphviz `dot` binary)
|
|
39
|
+
zenodo = ["agentprov-zenodo"] # D-880: the draft-only Zenodo uploader (zenodo/); agentprov never imports it
|
|
40
|
+
|
|
41
|
+
[project.scripts]
|
|
42
|
+
agentprov = "agentprov.cli.main:main"
|
|
43
|
+
|
|
44
|
+
[dependency-groups]
|
|
45
|
+
dev = [
|
|
46
|
+
"pytest>=9.1.1",
|
|
47
|
+
"hypothesis>=6.168.5",
|
|
48
|
+
"ruff>=0.16.10",
|
|
49
|
+
"mypy>=2.4.0",
|
|
50
|
+
"jsonschema>=4.26.0",
|
|
51
|
+
"types-pyyaml>=6.0.12",
|
|
52
|
+
"pytest-xdist>=3.8",
|
|
53
|
+
"pytest-testmon>=2.1",
|
|
54
|
+
"agentprov-zenodo", # D-880: the uploader in every checkout environment (the GUI runs it from there)
|
|
55
|
+
]
|
|
56
|
+
# The user guide's website (mkdocs.yml; D-760). Not a default group: a plain `uv sync` never installs it.
|
|
57
|
+
# Exact pins: Material for MkDocs is in maintenance mode (Zensical is its named successor) and MkDocs 1.x has no
|
|
58
|
+
# further releases, so nothing moves under the lock by accident.
|
|
59
|
+
docs = [
|
|
60
|
+
"mkdocs==1.6.1",
|
|
61
|
+
"mkdocs-material==9.7.7",
|
|
62
|
+
]
|
|
63
|
+
|
|
64
|
+
[build-system]
|
|
65
|
+
requires = ["uv_build>=0.12.18,<0.13"]
|
|
66
|
+
build-backend = "uv_build"
|
|
67
|
+
|
|
68
|
+
[tool.uv]
|
|
69
|
+
required-version = ">=0.12.22" # can install CPython 3.14.8 (release-mode floor); raised 2026-10-08 per G.7.1(1)
|
|
70
|
+
exclude-newer = "2026-10-07T00:00:00Z"
|
|
71
|
+
# D-1011: the security releases osv-scanner asked for (the first public CI run, 2026-11-01); only these
|
|
72
|
+
# packages may be newer than the cutoff above, every other one stays where it was
|
|
73
|
+
exclude-newer-package = { certifi = "2026-11-01T00:00:00Z" }
|
|
74
|
+
default-groups = ["dev"]
|
|
75
|
+
|
|
76
|
+
[tool.uv.workspace]
|
|
77
|
+
members = ["capture", "zenodo"] # backends/* are separate uv projects with their own locks (never members)
|
|
78
|
+
|
|
79
|
+
[tool.uv.sources]
|
|
80
|
+
agentprov-capture = { workspace = true }
|
|
81
|
+
agentprov-zenodo = { workspace = true }
|
|
82
|
+
|
|
83
|
+
[tool.pytest.ini_options]
|
|
84
|
+
testpaths = ["tests"]
|
|
85
|
+
addopts = "-ra --strict-markers --import-mode=importlib"
|
|
86
|
+
markers = [
|
|
87
|
+
"slow: slower tests (run in CI, skipped with -m 'not slow')",
|
|
88
|
+
"network: needs network access (never in default CI)",
|
|
89
|
+
"backend_agentdojo: needs the backends/agentdojo environment",
|
|
90
|
+
"backend_autodojo: needs the backends/autodojo environment",
|
|
91
|
+
"backend_agentdyn: needs the backends/agentdyn environment",
|
|
92
|
+
"backend_inspect: needs a backends/inspect environment (inspect_ai, inspect_evals and the pinned dataset)",
|
|
93
|
+
"full_corpus: needs the local baseline corpora (AGENTPROV_BASELINE_CORPUS)",
|
|
94
|
+
"old_package: needs agentdojo-prov 1.0.0 @ 579a908 in a separate interpreter and the C6 producer's work dir (AGENTPROV_C6_WORK)",
|
|
95
|
+
"render: needs the render extra (pydot) and, for images, the graphviz dot binary; skipped with the reason when absent",
|
|
96
|
+
"live_artefacts: consumes capture/0.1 sessions produced by a backend job (AGENTPROV_LIVE_ARTEFACTS; K.8.5)",
|
|
97
|
+
]
|
|
98
|
+
filterwarnings = [
|
|
99
|
+
"error::UserWarning:agentprov.*",
|
|
100
|
+
# prov 3.2.2 calls rdflib's deprecated Dataset.default_context; third-party, harmless for the compat oracle
|
|
101
|
+
"ignore:Dataset.default_context is deprecated:DeprecationWarning:rdflib.graph",
|
|
102
|
+
]
|
|
103
|
+
|
|
104
|
+
[tool.ruff]
|
|
105
|
+
line-length = 110
|
|
106
|
+
target-version = "py314"
|
|
107
|
+
# docs/architecture/examples/: frozen prototype scripts that generated the specification's example vectors;
|
|
108
|
+
# they are spec artefacts, not product code (the implementation re-implements them under src/).
|
|
109
|
+
# docs/reports/systematic-search/{data,scripts}/: the systematic search's scripts (archived verbatim, and the screening
|
|
110
|
+
# generator that reproduces the appendix tables), a record of the manuscript appendix, not product code.
|
|
111
|
+
extend-exclude = ["backends/*/.venv", "docs/architecture/examples", "docs/reports/systematic-search/data", "docs/reports/systematic-search/scripts", "docs/reports/precheck/data"]
|
|
112
|
+
|
|
113
|
+
[tool.ruff.lint]
|
|
114
|
+
select = ["E4", "E7", "E9", "F", "B", "UP", "T20", "PLE2502", "S102", "S301", "S307", "S506"]
|
|
115
|
+
|
|
116
|
+
[tool.ruff.lint.per-file-ignores]
|
|
117
|
+
# `print` is banned outside the CLI (N.1.12(1)); tests and maintenance scripts may print.
|
|
118
|
+
"src/agentprov/cli/**" = ["T20"]
|
|
119
|
+
"tests/**" = ["T20"]
|
|
120
|
+
"tools/**" = ["T20"]
|
|
121
|
+
"src/agentprov/io/worker_testjobs.py" = ["T20"] # test-only job kinds that print on purpose (stdout/stderr isolation tests)
|
|
122
|
+
# The five oracle files are a verbatim port of the baseline (R-31): ruff may not push them away from 579a908.
|
|
123
|
+
"src/agentprov/prov/compat/adprov_v2_3/build_prov.py" = ["B", "BLE", "UP", "S", "E7"]
|
|
124
|
+
"src/agentprov/prov/compat/adprov_v2_3/prov_emit.py" = ["B", "BLE", "UP", "S", "E7"]
|
|
125
|
+
"src/agentprov/prov/compat/adprov_v2_3/labeling.py" = ["B", "BLE", "UP", "S", "E7"]
|
|
126
|
+
"src/agentprov/prov/compat/adprov_v2_3/validate.py" = ["B", "BLE", "UP", "S", "E7"]
|
|
127
|
+
"src/agentprov/prov/compat/adprov_v2_3/conformance.py" = ["B", "BLE", "UP", "S", "E7"]
|
|
128
|
+
"tests/prov/compat/adprov_v2_3/test_*.py" = ["B905"] # ported baseline tests, kept diff-able against 579a908
|
|
129
|
+
|
|
130
|
+
[tool.mypy]
|
|
131
|
+
python_version = "3.14"
|
|
132
|
+
strict = false
|
|
133
|
+
warn_unused_ignores = true
|
|
134
|
+
packages = ["agentprov"]
|
|
135
|
+
mypy_path = "src"
|
|
136
|
+
|
|
137
|
+
# The five oracle files are a verbatim baseline port (R-31): never edited to satisfy a type checker.
|
|
138
|
+
[[tool.mypy.overrides]]
|
|
139
|
+
module = [
|
|
140
|
+
"agentprov.prov.compat.adprov_v2_3.build_prov",
|
|
141
|
+
"agentprov.prov.compat.adprov_v2_3.prov_emit",
|
|
142
|
+
"agentprov.prov.compat.adprov_v2_3.labeling",
|
|
143
|
+
"agentprov.prov.compat.adprov_v2_3.validate",
|
|
144
|
+
"agentprov.prov.compat.adprov_v2_3.conformance",
|
|
145
|
+
]
|
|
146
|
+
ignore_errors = true
|
|
147
|
+
|
|
148
|
+
# pydot comes with the optional `render` extra; the default environment type-checks without it.
|
|
149
|
+
[[tool.mypy.overrides]]
|
|
150
|
+
module = ["pydot", "pydot.*"]
|
|
151
|
+
ignore_missing_imports = true
|
|
152
|
+
|
|
153
|
+
# psutil (D-704) ships no stubs in the lock (types-psutil would be another download), as for the GUI.
|
|
154
|
+
[[tool.mypy.overrides]]
|
|
155
|
+
module = ["psutil", "psutil.*"]
|
|
156
|
+
ignore_missing_imports = true
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"""AgentPROV: an execution-provenance framework for LLM-agent security research.
|
|
2
|
+
|
|
3
|
+
Pipeline (each stage after the raw store is a pure, versioned function)::
|
|
4
|
+
|
|
5
|
+
raw evidence (imported logs | live capture/0.1) -> AER (aer/0.2; aer/0.1 read) -> SEM (sem/0.1)
|
|
6
|
+
-> W3C PROV (agentprov-prov/0.1: core / inference / assessment bundles)
|
|
7
|
+
-> validation -> corpus (hash-chained manifest)
|
|
8
|
+
|
|
9
|
+
See ``docs/architecture/`` for the normative specification and ``AGENTS.md`` for project memory.
|
|
10
|
+
"""
|
|
11
|
+
|
|
12
|
+
from agentprov.versions import VERSIONS, __version__
|
|
13
|
+
|
|
14
|
+
__all__ = ["VERSIONS", "__version__"]
|