purra 0.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- purra-0.3.0/LICENSE +21 -0
- purra-0.3.0/MANIFEST.in +1 -0
- purra-0.3.0/PKG-INFO +901 -0
- purra-0.3.0/README.md +879 -0
- purra-0.3.0/conformance/README.md +10 -0
- purra-0.3.0/conformance/fixtures/artifact_protocol.json +88 -0
- purra-0.3.0/conformance/fixtures/context_protocol.json +28 -0
- purra-0.3.0/conformance/fixtures/delegation_protocol.json +53 -0
- purra-0.3.0/conformance/fixtures/durable_protocol.json +151 -0
- purra-0.3.0/conformance/fixtures/model_protocol.json +120 -0
- purra-0.3.0/conformance/fixtures/observability_protocol.json +131 -0
- purra-0.3.0/conformance/fixtures/planning_protocol.json +27 -0
- purra-0.3.0/conformance/fixtures/recovery_protocol.json +103 -0
- purra-0.3.0/conformance/fixtures/tool_security.json +100 -0
- purra-0.3.0/pyproject.toml +41 -0
- purra-0.3.0/setup.cfg +4 -0
- purra-0.3.0/src/purra/__init__.py +8 -0
- purra-0.3.0/src/purra/adapters/__init__.py +15 -0
- purra-0.3.0/src/purra/adapters/durable_memory.py +1697 -0
- purra-0.3.0/src/purra/adapters/memory.py +1322 -0
- purra-0.3.0/src/purra/agent_presets.py +663 -0
- purra-0.3.0/src/purra/api/__init__.py +101 -0
- purra-0.3.0/src/purra/artifacts/__init__.py +87 -0
- purra-0.3.0/src/purra/artifacts/access.py +108 -0
- purra-0.3.0/src/purra/artifacts/continuity.py +277 -0
- purra-0.3.0/src/purra/artifacts/contracts.py +367 -0
- purra-0.3.0/src/purra/artifacts/errors.py +39 -0
- purra-0.3.0/src/purra/artifacts/lifecycle.py +287 -0
- purra-0.3.0/src/purra/artifacts/maintenance.py +137 -0
- purra-0.3.0/src/purra/artifacts/ownership.py +28 -0
- purra-0.3.0/src/purra/artifacts/ports.py +163 -0
- purra-0.3.0/src/purra/cancellation.py +210 -0
- purra-0.3.0/src/purra/context_budget.py +432 -0
- purra-0.3.0/src/purra/context_orchestration/__init__.py +30 -0
- purra-0.3.0/src/purra/context_orchestration/compaction.py +480 -0
- purra-0.3.0/src/purra/context_orchestration/contracts.py +125 -0
- purra-0.3.0/src/purra/context_orchestration/ledger.py +52 -0
- purra-0.3.0/src/purra/context_strategies.py +19 -0
- purra-0.3.0/src/purra/contracts/__init__.py +1701 -0
- purra-0.3.0/src/purra/contracts/enums.py +163 -0
- purra-0.3.0/src/purra/contracts/host.py +149 -0
- purra-0.3.0/src/purra/contracts/plans.py +271 -0
- purra-0.3.0/src/purra/contracts/tool_paths.py +24 -0
- purra-0.3.0/src/purra/delegation/__init__.py +21 -0
- purra-0.3.0/src/purra/delegation/coordinator.py +407 -0
- purra-0.3.0/src/purra/delegation/dynamic_executor.py +380 -0
- purra-0.3.0/src/purra/delegation/policy.py +62 -0
- purra-0.3.0/src/purra/delegation/tool.py +233 -0
- purra-0.3.0/src/purra/engine/__init__.py +17 -0
- purra-0.3.0/src/purra/engine/canonical_sink.py +51 -0
- purra-0.3.0/src/purra/engine/compaction_phase.py +309 -0
- purra-0.3.0/src/purra/engine/context_capability.py +90 -0
- purra-0.3.0/src/purra/engine/context_phase.py +221 -0
- purra-0.3.0/src/purra/engine/delegation_assembly.py +110 -0
- purra-0.3.0/src/purra/engine/durable_execution.py +494 -0
- purra-0.3.0/src/purra/engine/dynamic_planning.py +311 -0
- purra-0.3.0/src/purra/engine/options.py +298 -0
- purra-0.3.0/src/purra/engine/orchestrator.py +1582 -0
- purra-0.3.0/src/purra/engine/planning_phase.py +382 -0
- purra-0.3.0/src/purra/engine/planning_validation.py +254 -0
- purra-0.3.0/src/purra/engine/task_orchestration.py +100 -0
- purra-0.3.0/src/purra/engine/tool_catalog.py +32 -0
- purra-0.3.0/src/purra/errors.py +149 -0
- purra-0.3.0/src/purra/evaluation/__init__.py +21 -0
- purra-0.3.0/src/purra/evaluation/regression.py +161 -0
- purra-0.3.0/src/purra/evaluation/security.py +139 -0
- purra-0.3.0/src/purra/events.py +92 -0
- purra-0.3.0/src/purra/evidence.py +333 -0
- purra-0.3.0/src/purra/execution/__init__.py +6 -0
- purra-0.3.0/src/purra/execution/handle.py +27 -0
- purra-0.3.0/src/purra/execution/supervisor.py +345 -0
- purra-0.3.0/src/purra/execution_profiles.py +87 -0
- purra-0.3.0/src/purra/host_planned_tool_gateway.py +125 -0
- purra-0.3.0/src/purra/json_values.py +200 -0
- purra-0.3.0/src/purra/long_tasks/__init__.py +50 -0
- purra-0.3.0/src/purra/long_tasks/contracts.py +546 -0
- purra-0.3.0/src/purra/long_tasks/coordinator.py +415 -0
- purra-0.3.0/src/purra/long_tasks/dispatcher.py +674 -0
- purra-0.3.0/src/purra/long_tasks/ports.py +225 -0
- purra-0.3.0/src/purra/model_call_parameters.py +127 -0
- purra-0.3.0/src/purra/model_execution.py +382 -0
- purra-0.3.0/src/purra/model_invocation/__init__.py +23 -0
- purra-0.3.0/src/purra/model_invocation/contracts.py +213 -0
- purra-0.3.0/src/purra/model_invocation/manager.py +727 -0
- purra-0.3.0/src/purra/model_protocol/__init__.py +50 -0
- purra-0.3.0/src/purra/model_protocol/capabilities.py +268 -0
- purra-0.3.0/src/purra/model_protocol/output_limits.py +89 -0
- purra-0.3.0/src/purra/model_protocol/requirements.py +112 -0
- purra-0.3.0/src/purra/model_protocol/termination.py +119 -0
- purra-0.3.0/src/purra/normalization.py +73 -0
- purra-0.3.0/src/purra/observability/__init__.py +45 -0
- purra-0.3.0/src/purra/observability/_values.py +46 -0
- purra-0.3.0/src/purra/observability/diagnostics.py +302 -0
- purra-0.3.0/src/purra/observability/failure_classification.py +331 -0
- purra-0.3.0/src/purra/observability/performance.py +308 -0
- purra-0.3.0/src/purra/observability/recovery.py +97 -0
- purra-0.3.0/src/purra/observability/stability.py +289 -0
- purra-0.3.0/src/purra/observability/stability_gate.py +219 -0
- purra-0.3.0/src/purra/observability/stability_trend.py +368 -0
- purra-0.3.0/src/purra/operations/__init__.py +23 -0
- purra-0.3.0/src/purra/operations/contracts.py +213 -0
- purra-0.3.0/src/purra/operations/controller.py +196 -0
- purra-0.3.0/src/purra/orphan_recovery.py +152 -0
- purra-0.3.0/src/purra/output/__init__.py +93 -0
- purra-0.3.0/src/purra/output/contracts.py +707 -0
- purra-0.3.0/src/purra/output/ports.py +142 -0
- purra-0.3.0/src/purra/output/processor.py +871 -0
- purra-0.3.0/src/purra/output/response_transaction.py +349 -0
- purra-0.3.0/src/purra/output/response_validation.py +293 -0
- purra-0.3.0/src/purra/output/run_repository.py +88 -0
- purra-0.3.0/src/purra/plan_compiler.py +440 -0
- purra-0.3.0/src/purra/planner.py +1055 -0
- purra-0.3.0/src/purra/planning_policies.py +53 -0
- purra-0.3.0/src/purra/ports/__init__.py +104 -0
- purra-0.3.0/src/purra/ports/context.py +105 -0
- purra-0.3.0/src/purra/ports/model.py +40 -0
- purra-0.3.0/src/purra/ports/persistence.py +189 -0
- purra-0.3.0/src/purra/ports/planning.py +127 -0
- purra-0.3.0/src/purra/ports/projection.py +64 -0
- purra-0.3.0/src/purra/ports/run_lifecycle.py +205 -0
- purra-0.3.0/src/purra/ports/tools.py +211 -0
- purra-0.3.0/src/purra/recovery/__init__.py +37 -0
- purra-0.3.0/src/purra/recovery/contracts.py +254 -0
- purra-0.3.0/src/purra/recovery/disposition.py +72 -0
- purra-0.3.0/src/purra/recovery/guidance.py +70 -0
- purra-0.3.0/src/purra/recovery/ledger.py +82 -0
- purra-0.3.0/src/purra/recovery/policy.py +66 -0
- purra-0.3.0/src/purra/run_control.py +322 -0
- purra-0.3.0/src/purra/run_controller.py +495 -0
- purra-0.3.0/src/purra/run_recovery.py +70 -0
- purra-0.3.0/src/purra/run_state.py +845 -0
- purra-0.3.0/src/purra/runtime/__init__.py +5 -0
- purra-0.3.0/src/purra/runtime/model_round.py +495 -0
- purra-0.3.0/src/purra/runtime/orchestrator.py +1805 -0
- purra-0.3.0/src/purra/runtime/response_finalization.py +478 -0
- purra-0.3.0/src/purra/runtime/tool_authorization.py +603 -0
- purra-0.3.0/src/purra/runtime/tool_recovery.py +206 -0
- purra-0.3.0/src/purra/runtime/tool_round.py +294 -0
- purra-0.3.0/src/purra/runtime_context.py +220 -0
- purra-0.3.0/src/purra/stream_ownership.py +143 -0
- purra-0.3.0/src/purra/structured_output.py +89 -0
- purra-0.3.0/src/purra/task_admission/__init__.py +25 -0
- purra-0.3.0/src/purra/task_admission/contracts.py +183 -0
- purra-0.3.0/src/purra/task_admission/ports.py +60 -0
- purra-0.3.0/src/purra/testing.py +1175 -0
- purra-0.3.0/src/purra/timing.py +7 -0
- purra-0.3.0/src/purra/tools/__init__.py +47 -0
- purra-0.3.0/src/purra/tools/approval.py +188 -0
- purra-0.3.0/src/purra/tools/contract.py +473 -0
- purra-0.3.0/src/purra/tools/display_names.py +79 -0
- purra-0.3.0/src/purra/tools/executor.py +908 -0
- purra-0.3.0/src/purra/tools/policy.py +61 -0
- purra-0.3.0/src/purra/tools/registry.py +71 -0
- purra-0.3.0/src/purra/tools/security.py +804 -0
- purra-0.3.0/src/purra.egg-info/PKG-INFO +901 -0
- purra-0.3.0/src/purra.egg-info/SOURCES.txt +194 -0
- purra-0.3.0/src/purra.egg-info/dependency_links.txt +1 -0
- purra-0.3.0/src/purra.egg-info/requires.txt +5 -0
- purra-0.3.0/src/purra.egg-info/top_level.txt +1 -0
- purra-0.3.0/tests/test_agent_presets.py +343 -0
- purra-0.3.0/tests/test_artifact_protocol_fixture.py +50 -0
- purra-0.3.0/tests/test_context_conformance.py +125 -0
- purra-0.3.0/tests/test_context_protocol_fixture.py +43 -0
- purra-0.3.0/tests/test_delegation_coordinator.py +372 -0
- purra-0.3.0/tests/test_delegation_protocol_fixture.py +75 -0
- purra-0.3.0/tests/test_durable_execution.py +1190 -0
- purra-0.3.0/tests/test_durable_memory_adapters.py +350 -0
- purra-0.3.0/tests/test_durable_protocol_fixture.py +85 -0
- purra-0.3.0/tests/test_durable_state_contracts.py +126 -0
- purra-0.3.0/tests/test_evaluation_observability.py +64 -0
- purra-0.3.0/tests/test_memory_adapters.py +236 -0
- purra-0.3.0/tests/test_model_execution.py +239 -0
- purra-0.3.0/tests/test_model_invocation_manager.py +525 -0
- purra-0.3.0/tests/test_model_protocol_fixture.py +84 -0
- purra-0.3.0/tests/test_model_tool_gateway_conformance.py +231 -0
- purra-0.3.0/tests/test_observability_protocol_fixture.py +43 -0
- purra-0.3.0/tests/test_operation_contracts.py +87 -0
- purra-0.3.0/tests/test_operation_controller.py +184 -0
- purra-0.3.0/tests/test_orphan_recovery.py +186 -0
- purra-0.3.0/tests/test_output_contracts.py +195 -0
- purra-0.3.0/tests/test_output_processor.py +531 -0
- purra-0.3.0/tests/test_package_boundaries.py +107 -0
- purra-0.3.0/tests/test_planning_contract.py +496 -0
- purra-0.3.0/tests/test_public_api.py +179 -0
- purra-0.3.0/tests/test_purra_boundaries.py +187 -0
- purra-0.3.0/tests/test_purra_structure.py +504 -0
- purra-0.3.0/tests/test_recovery_protocol_fixture.py +52 -0
- purra-0.3.0/tests/test_response_transaction.py +410 -0
- purra-0.3.0/tests/test_run_control.py +186 -0
- purra-0.3.0/tests/test_run_supervisor.py +304 -0
- purra-0.3.0/tests/test_second_host_conformance.py +786 -0
- purra-0.3.0/tests/test_standalone_agent_conformance.py +382 -0
- purra-0.3.0/tests/test_structured_output.py +44 -0
- purra-0.3.0/tests/test_task_orchestration_conformance.py +261 -0
- purra-0.3.0/tests/test_tool_security.py +210 -0
- purra-0.3.0/tests/test_tool_security_fixture.py +29 -0
purra-0.3.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Lybrands
|
|
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.
|
purra-0.3.0/MANIFEST.in
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
recursive-include conformance *.json *.md
|