aisolate-agent 0.3.3__tar.gz → 0.3.4__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.
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/PKG-INFO +2 -2
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/README.md +1 -1
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/pyproject.toml +1 -1
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/strategies/llm/base.py +1 -1
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/strategies/llm/harmony.py +4 -4
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/strategies/llm/oai.py +4 -4
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/strategies/llm/qwen.py +4 -4
- aisolate_agent-0.3.4/src/aisolate/agent/tests/test_integration/test_prompt_template_contract.py +120 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate_agent.egg-info/PKG-INFO +2 -2
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate_agent.egg-info/SOURCES.txt +1 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/setup.cfg +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/__init__.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/__init__.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/agent.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/config/__init__.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/config/agent_settings.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/config/prompts/__init__.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/config/state_llm.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/core/__init__.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/core/artifacts.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/core/budget.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/core/context.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/core/conversation_log.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/core/events.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/core/exceptions.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/core/graph.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/core/initial_state.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/core/llm_response.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/core/policy.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/core/protocols.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/core/snapshot.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/core/spine_compaction.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/core/tests/test_context_snapshots.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/core/tests/test_snapshot.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/core/views.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/core/workspace.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/graphs.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/logging/__init__.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/logging/config.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/logging/factory.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/logging/unified_logger.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/main.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/memory/__init__.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/memory/models.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/states/__init__.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/states/base.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/states/clarification.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/states/compaction.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/states/critic.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/states/executing.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/states/expert_synthesis.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/states/finished.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/states/hitl_pause.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/states/outputs.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/states/planning.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/states/task.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/status.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/strategies/__init__.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/strategies/llm/__init__.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/strategies/memory/__init__.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/strategies/memory/in_memory.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/strategies/memory/tests/test_in_memory.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/strategies/memory/vector.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/substrate.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/telemetry/__init__.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/telemetry/decorators.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/telemetry/factory.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/telemetry/interface.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/telemetry/noop.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/telemetry/openinference.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/telemetry/opentelemetry_impl.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/telemetry/utils.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/__init__.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/conftest.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/fakes.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_core/__init__.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_core/test_architecture_assumptions.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_core/test_artifact_rows.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_core/test_change_bridge_echo.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_core/test_conversation_log.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_core/test_delegated_lineage_restore.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_core/test_event_agent_name_stamping.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_core/test_execute_turn_review_pending.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_core/test_firewall_property.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_core/test_graph.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_core/test_initial_state.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_core/test_legacy_snapshot.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_core/test_live_capture.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_core/test_locale_prelude.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_core/test_policy.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_core/test_restore_review_posture.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_core/test_resume_semantics.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_core/test_run_streaming_cancel.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_core/test_spine_compaction.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_core/test_state_llm_overrides.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_core/test_state_transitions.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_core/test_status_summarizer.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_core/test_subagent_graph.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_core/test_substrate.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_core/test_token_accumulation.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_core/test_turn_started_events.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_core/test_turn_usage_isolation.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_core/test_uniform_state.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_core/test_views.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_core/test_workspace_bridge_attribution.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_core/test_workspace_capture.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_core/test_workspace_changed_event.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_e2e/__init__.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_e2e/conftest.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_e2e/test_delegation_file_paths.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_e2e/test_delegation_recovery.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_e2e/test_locale_helpers.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_e2e/test_size_compaction.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_e2e/test_stall_clone_96919cf1.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_e2e/test_truncation_wedge_5b90b101.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_e2e/test_workspace_lifecycle.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_integration/__init__.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_integration/helpers.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_integration/test_flagship_loop.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_integration/test_followup_roundtrips.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_integration/test_full_workflow.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_integration/test_restore_roundtrips.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_integration/test_stalled_and_acceptance.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_states/__init__.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_states/test_compact_for_llm.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_states/test_critic_enforcer.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_states/test_critic_review_cap.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_states/test_emission_map.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_states/test_executing_metadata.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_states/test_executing_prefix_stability.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_states/test_executing_review_routing.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_states/test_planning_artifact.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_states/test_planning_metadata.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_states/test_progress_ledger.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_states/test_selection.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_states/test_size_compaction_wiring.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_states/test_stall_recovery.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_strategies/__init__.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_strategies/test_identity_block.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_strategies/test_llm_generate_span.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_strategies/test_llm_providers.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_strategies/test_llm_watchdog.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_strategies/test_prepare_history_contract.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_strategies/test_qwen_retry.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_strategies/test_qwen_strategy.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_strategies/test_qwen_truncation.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_strategies/test_qwen_workspace_envelope.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_strategies/test_scripted_llm_contract.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_strategies/test_telemetry_attributes.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_strategies/test_turn_budget_block.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_tools/__init__.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_tools/test_bundle_and_restore.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_tools/test_delegation_identity.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_tools/test_edit_blocks.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_tools/test_fake_executor.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_tools/test_handover_sidecars.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_tools/test_load_handover_resolution.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_tools/test_output_refs.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_tools/test_sandbox_import_surface.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_tools/test_send_actions_error.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_tools/test_shell_executing_loop.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_tools/test_shell_tools.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_tools/test_subagent_failure_contract.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_tools/test_subagent_handover.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_tools/test_three_tier_tools.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_tools/test_workspace_actions.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_tools/test_workspace_tools.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tools/__init__.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tools/actions/__init__.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tools/actions/base.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tools/actions/final_answer.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tools/actions/load_handover.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tools/actions/visit_page_action.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tools/actions/web_search_action.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tools/actions/wikipedia_search_action.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tools/actions/workspace.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tools/base.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tools/execution.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tools/functions/__init__.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tools/functions/base.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tools/functions/hitl.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tools/models.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tools/platform/__init__.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tools/platform/base.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tools/platform/edit_blocks.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tools/platform/files_ops.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tools/platform/python_executor.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tools/platform/shell.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tools/platform/subagent.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tools/platform/web_search.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tools/platform/workspace_tools.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tools/routing.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/trace.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/utils.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/common/__init__.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/common/codec.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/common/errors.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/common/models.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/common/output_window.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/common/tests/__init__.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/common/tests/fake_vm.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/common/tests/fixtures.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/common/tests/test_codec_channel.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/common/tests/test_output_window.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/common/tests/utils.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/logging/__init__.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/logging/formatters.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/logging/processors.py +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate_agent.egg-info/dependency_links.txt +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate_agent.egg-info/entry_points.txt +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate_agent.egg-info/requires.txt +0 -0
- {aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate_agent.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: aisolate-agent
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.4
|
|
4
4
|
Summary: AI Agent with intelligent planning and reasoning
|
|
5
5
|
License: Apache-2.0
|
|
6
6
|
Requires-Python: >=3.10
|
|
@@ -30,7 +30,7 @@ AI Agent with intelligent planning and reasoning
|
|
|
30
30
|
## Local Installation
|
|
31
31
|
|
|
32
32
|
```bash
|
|
33
|
-
pip install path/to/aisolate_agent-0.3.
|
|
33
|
+
pip install path/to/aisolate_agent-0.3.4-py3-none-any.whl
|
|
34
34
|
```
|
|
35
35
|
|
|
36
36
|
## Usage
|
|
@@ -500,7 +500,7 @@ class BaseLLMStrategy:
|
|
|
500
500
|
prompt_template = (
|
|
501
501
|
sub_agent_templates.get(f"task.{agent_name}")
|
|
502
502
|
or sub_agent_templates.get("task")
|
|
503
|
-
or "Create a plan to accomplish this task: {task}"
|
|
503
|
+
or "Create a plan to accomplish this task: {{ task }}"
|
|
504
504
|
)
|
|
505
505
|
rendered = render_template(
|
|
506
506
|
prompt_template,
|
|
@@ -125,7 +125,7 @@ class HarmonyLLMStrategy(BaseLLMStrategy):
|
|
|
125
125
|
def prepare_initial_history(self, context: "AgentContext") -> List["Message"]:
|
|
126
126
|
"""Creates the initial message history for the planning phase."""
|
|
127
127
|
initial_plan_template = self.templates.get("planning", {}).get(
|
|
128
|
-
"initial_plan", "Create a plan to accomplish this task: {task}"
|
|
128
|
+
"initial_plan", "Create a plan to accomplish this task: {{ task }}"
|
|
129
129
|
)
|
|
130
130
|
|
|
131
131
|
initial_plan = self._render_template(
|
|
@@ -234,7 +234,7 @@ class HarmonyLLMStrategy(BaseLLMStrategy):
|
|
|
234
234
|
) -> List["Message"]:
|
|
235
235
|
"""Build planning history with expert context from clarification."""
|
|
236
236
|
initial_plan_template = self.templates.get("planning", {}).get(
|
|
237
|
-
"initial_plan", "Create a plan to accomplish this task: {task}"
|
|
237
|
+
"initial_plan", "Create a plan to accomplish this task: {{ task }}"
|
|
238
238
|
)
|
|
239
239
|
initial_plan = self._render_template(
|
|
240
240
|
initial_plan_template,
|
|
@@ -308,7 +308,7 @@ class HarmonyLLMStrategy(BaseLLMStrategy):
|
|
|
308
308
|
"""Task-decomposition input for harmony: task + plan → a checklist."""
|
|
309
309
|
template = self.templates.get("task", {}).get(
|
|
310
310
|
"decompose",
|
|
311
|
-
"Break the plan into a concrete, checkable task list for the task: {task}",
|
|
311
|
+
"Break the plan into a concrete, checkable task list for the task: {{ task }}",
|
|
312
312
|
)
|
|
313
313
|
instructions = self._render_template(
|
|
314
314
|
template, self._get_template_variables(context)
|
|
@@ -413,7 +413,7 @@ class HarmonyLLMStrategy(BaseLLMStrategy):
|
|
|
413
413
|
) -> List["Message"]:
|
|
414
414
|
"""Build planning history from an already-enriched task brief (Harmony)."""
|
|
415
415
|
initial_plan_template = self.templates.get("planning", {}).get(
|
|
416
|
-
"initial_plan", "Create a plan to accomplish this task: {task}"
|
|
416
|
+
"initial_plan", "Create a plan to accomplish this task: {{ task }}"
|
|
417
417
|
)
|
|
418
418
|
initial_plan = self._render_template(
|
|
419
419
|
initial_plan_template,
|
|
@@ -334,7 +334,7 @@ class OpenAILLMStrategy(BaseLLMStrategy):
|
|
|
334
334
|
def prepare_initial_history(self, context: "AgentContext") -> List[Message]:
|
|
335
335
|
template = (
|
|
336
336
|
self.templates.get("planning", {}).get("initial_plan")
|
|
337
|
-
or "Create a plan to accomplish this task: {task}"
|
|
337
|
+
or "Create a plan to accomplish this task: {{ task }}"
|
|
338
338
|
)
|
|
339
339
|
initial_plan = self._render_template(
|
|
340
340
|
template,
|
|
@@ -393,7 +393,7 @@ class OpenAILLMStrategy(BaseLLMStrategy):
|
|
|
393
393
|
"""
|
|
394
394
|
template = (
|
|
395
395
|
self.templates.get("planning", {}).get("initial_plan")
|
|
396
|
-
or "Create a plan to accomplish this task: {task}"
|
|
396
|
+
or "Create a plan to accomplish this task: {{ task }}"
|
|
397
397
|
)
|
|
398
398
|
system_prompt = self._render_template(
|
|
399
399
|
template,
|
|
@@ -468,7 +468,7 @@ class OpenAILLMStrategy(BaseLLMStrategy):
|
|
|
468
468
|
"""
|
|
469
469
|
template = (
|
|
470
470
|
self.templates.get("task", {}).get("decompose")
|
|
471
|
-
or "Break the plan into a concrete, checkable task list for the task: {task}"
|
|
471
|
+
or "Break the plan into a concrete, checkable task list for the task: {{ task }}"
|
|
472
472
|
)
|
|
473
473
|
system_prompt = self._render_template(
|
|
474
474
|
template,
|
|
@@ -569,7 +569,7 @@ class OpenAILLMStrategy(BaseLLMStrategy):
|
|
|
569
569
|
"""
|
|
570
570
|
template = (
|
|
571
571
|
self.templates.get("planning", {}).get("initial_plan")
|
|
572
|
-
or "Create a plan to accomplish this task: {task}"
|
|
572
|
+
or "Create a plan to accomplish this task: {{ task }}"
|
|
573
573
|
)
|
|
574
574
|
system_prompt = self._render_template(
|
|
575
575
|
template,
|
|
@@ -730,7 +730,7 @@ class QwenRawLLMStrategy(BaseLLMStrategy):
|
|
|
730
730
|
def prepare_initial_history(self, context: "AgentContext") -> List[Message]:
|
|
731
731
|
template = (
|
|
732
732
|
self.templates.get("planning", {}).get("initial_plan")
|
|
733
|
-
or "Create a plan to accomplish this task: {task}"
|
|
733
|
+
or "Create a plan to accomplish this task: {{ task }}"
|
|
734
734
|
)
|
|
735
735
|
initial_plan = self._render_template(
|
|
736
736
|
template, self._get_template_variables(context)
|
|
@@ -784,7 +784,7 @@ class QwenRawLLMStrategy(BaseLLMStrategy):
|
|
|
784
784
|
) -> List[Message]:
|
|
785
785
|
template = (
|
|
786
786
|
self.templates.get("planning", {}).get("initial_plan")
|
|
787
|
-
or "Create a plan to accomplish this task: {task}"
|
|
787
|
+
or "Create a plan to accomplish this task: {{ task }}"
|
|
788
788
|
)
|
|
789
789
|
system_prompt = self._render_template(
|
|
790
790
|
template, self._get_template_variables(context)
|
|
@@ -831,7 +831,7 @@ class QwenRawLLMStrategy(BaseLLMStrategy):
|
|
|
831
831
|
) -> List[Message]:
|
|
832
832
|
template = (
|
|
833
833
|
self.templates.get("planning", {}).get("initial_plan")
|
|
834
|
-
or "Create a plan to accomplish this task: {task}"
|
|
834
|
+
or "Create a plan to accomplish this task: {{ task }}"
|
|
835
835
|
)
|
|
836
836
|
system_prompt = self._render_template(
|
|
837
837
|
template, self._get_template_variables(context)
|
|
@@ -858,7 +858,7 @@ class QwenRawLLMStrategy(BaseLLMStrategy):
|
|
|
858
858
|
) -> List[Message]:
|
|
859
859
|
template = (
|
|
860
860
|
self.templates.get("task", {}).get("decompose")
|
|
861
|
-
or "Break the plan into a concrete, checkable task list for the task: {task}"
|
|
861
|
+
or "Break the plan into a concrete, checkable task list for the task: {{ task }}"
|
|
862
862
|
)
|
|
863
863
|
system_prompt = self._render_template(
|
|
864
864
|
template, self._get_template_variables(context)
|
aisolate_agent-0.3.4/src/aisolate/agent/tests/test_integration/test_prompt_template_contract.py
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"""The task node's prompt interpolates, whether the template is the consumer's
|
|
2
|
+
or the framework's fallback.
|
|
3
|
+
|
|
4
|
+
Driven through the real ``planning → task → executing`` graph with a real
|
|
5
|
+
``OpenAILLMStrategy`` — only the provider call is scripted, so template
|
|
6
|
+
resolution, Jinja rendering and ``State.project`` are the production ones. No
|
|
7
|
+
other test renders a real template: ``ScriptedLLMStrategy`` hardcodes its
|
|
8
|
+
prompt strings, so this path was uncovered.
|
|
9
|
+
|
|
10
|
+
The fallbacks are the reason this file exists. They spelled their slot
|
|
11
|
+
``{task}`` while the renderer is Jinja, so every consumer that did not declare
|
|
12
|
+
``planning.initial_plan`` or ``task.decompose`` shipped the literal placeholder
|
|
13
|
+
to the model. ``StrictUndefined`` cannot catch that — single braces are text to
|
|
14
|
+
Jinja — and the run still worked, because ``prepare_task_history`` repeats the
|
|
15
|
+
task verbatim in the user message. Only a rendered prompt shows it.
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
import json
|
|
19
|
+
from typing import Any, Dict, List, Optional
|
|
20
|
+
|
|
21
|
+
import pytest
|
|
22
|
+
from openai_harmony import Message, Role
|
|
23
|
+
|
|
24
|
+
from aisolate.agent.core.llm_response import LLMResponse
|
|
25
|
+
from aisolate.agent.core.workspace import TASK_MD
|
|
26
|
+
from aisolate.agent.graphs import build_workflow
|
|
27
|
+
from aisolate.agent.strategies.llm.base import message_to_text
|
|
28
|
+
from aisolate.agent.strategies.llm.oai import OpenAILLMStrategy
|
|
29
|
+
|
|
30
|
+
from .helpers import make_agent_context
|
|
31
|
+
from ..conftest import FakeExecutor
|
|
32
|
+
|
|
33
|
+
CONVERSATION_ID = "prompt-template-contract"
|
|
34
|
+
TASK = "Total the 2025 consumption"
|
|
35
|
+
|
|
36
|
+
DECLARED: Dict[str, Any] = {
|
|
37
|
+
"planning": {"initial_plan": "Plan this: {{ task }}"},
|
|
38
|
+
"task": {"decompose": "Decompose the plan for: {{ task }}"},
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
PLAN = "1. Read the meter\n2. Report the total"
|
|
42
|
+
CHECKLIST = "- [ ] Read the meter\n Fetch the 2025 series.\n"
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class _ScriptedOAIStrategy(OpenAILLMStrategy):
|
|
46
|
+
"""Real strategy with the provider call replaced.
|
|
47
|
+
|
|
48
|
+
Everything the templates touch — ``prepare_*_history``, ``render_template``,
|
|
49
|
+
``parse_assistant_response`` — stays production code; ``_generate`` records
|
|
50
|
+
the input each node rendered and returns the next scripted reply.
|
|
51
|
+
"""
|
|
52
|
+
|
|
53
|
+
def __init__(self, script: List[str], templates: Optional[Dict[str, Any]]):
|
|
54
|
+
super().__init__(api_key="dummy-key", model="gpt-5.6-luna", templates=templates)
|
|
55
|
+
self._script = list(script)
|
|
56
|
+
self.rendered: List[List[Message]] = []
|
|
57
|
+
|
|
58
|
+
async def _generate(self, context) -> LLMResponse:
|
|
59
|
+
self.rendered.append(context.get_conversation_messages())
|
|
60
|
+
return LLMResponse(
|
|
61
|
+
messages=[
|
|
62
|
+
Message.from_role_and_content(Role.ASSISTANT, self._script.pop(0))
|
|
63
|
+
]
|
|
64
|
+
)
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
def _run_to_task(templates: Optional[Dict[str, Any]]):
|
|
68
|
+
"""Drive planning → task and return the strategy holding both prompts."""
|
|
69
|
+
strategy = _ScriptedOAIStrategy([PLAN, CHECKLIST], templates)
|
|
70
|
+
context = make_agent_context(
|
|
71
|
+
task=TASK,
|
|
72
|
+
llm=strategy,
|
|
73
|
+
executor=FakeExecutor([]),
|
|
74
|
+
conversation_id=CONVERSATION_ID,
|
|
75
|
+
graph=build_workflow(clarification=False, review=False, tasks=True),
|
|
76
|
+
)
|
|
77
|
+
context.seed_task(context.task)
|
|
78
|
+
context.enter_node(context.graph.entry)
|
|
79
|
+
return context, strategy
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
@pytest.mark.asyncio
|
|
83
|
+
async def test_declared_template_interpolates_the_task():
|
|
84
|
+
context, strategy = _run_to_task(DECLARED)
|
|
85
|
+
|
|
86
|
+
await context.execute_turn() # planning
|
|
87
|
+
await context.execute_turn() # task
|
|
88
|
+
|
|
89
|
+
assert message_to_text(strategy.rendered[0][0]) == f"Plan this: {TASK}"
|
|
90
|
+
assert message_to_text(strategy.rendered[1][0]) == f"Decompose the plan for: {TASK}"
|
|
91
|
+
|
|
92
|
+
artifact = context.artifacts.get(TASK_MD)
|
|
93
|
+
assert artifact is not None
|
|
94
|
+
assert "Read the meter" in artifact.inline_text
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
@pytest.mark.asyncio
|
|
98
|
+
async def test_fallback_template_interpolates_the_task():
|
|
99
|
+
"""A consumer that declares nothing still gets the task in its prompts,
|
|
100
|
+
not a literal placeholder."""
|
|
101
|
+
context, strategy = _run_to_task(None)
|
|
102
|
+
|
|
103
|
+
await context.execute_turn() # planning
|
|
104
|
+
await context.execute_turn() # task
|
|
105
|
+
|
|
106
|
+
for prompt in (message_to_text(m[0]) for m in strategy.rendered):
|
|
107
|
+
assert TASK in prompt
|
|
108
|
+
assert "{task}" not in prompt
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
@pytest.mark.asyncio
|
|
112
|
+
async def test_unknown_variable_stops_the_run():
|
|
113
|
+
"""``StrictUndefined``: a template naming a variable nobody supplies raises
|
|
114
|
+
rather than rendering it away to an empty string."""
|
|
115
|
+
context, _ = _run_to_task(
|
|
116
|
+
{"planning": {"initial_plan": "Plan this: {{ nonexistent_variable }}"}}
|
|
117
|
+
)
|
|
118
|
+
|
|
119
|
+
with pytest.raises(Exception, match="nonexistent_variable"):
|
|
120
|
+
await context.execute_turn() # planning
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: aisolate-agent
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.4
|
|
4
4
|
Summary: AI Agent with intelligent planning and reasoning
|
|
5
5
|
License: Apache-2.0
|
|
6
6
|
Requires-Python: >=3.10
|
|
@@ -30,7 +30,7 @@ AI Agent with intelligent planning and reasoning
|
|
|
30
30
|
## Local Installation
|
|
31
31
|
|
|
32
32
|
```bash
|
|
33
|
-
pip install path/to/aisolate_agent-0.3.
|
|
33
|
+
pip install path/to/aisolate_agent-0.3.4-py3-none-any.whl
|
|
34
34
|
```
|
|
35
35
|
|
|
36
36
|
## Usage
|
|
@@ -116,6 +116,7 @@ src/aisolate/agent/tests/test_integration/helpers.py
|
|
|
116
116
|
src/aisolate/agent/tests/test_integration/test_flagship_loop.py
|
|
117
117
|
src/aisolate/agent/tests/test_integration/test_followup_roundtrips.py
|
|
118
118
|
src/aisolate/agent/tests/test_integration/test_full_workflow.py
|
|
119
|
+
src/aisolate/agent/tests/test_integration/test_prompt_template_contract.py
|
|
119
120
|
src/aisolate/agent/tests/test_integration/test_restore_roundtrips.py
|
|
120
121
|
src/aisolate/agent/tests/test_integration/test_stalled_and_acceptance.py
|
|
121
122
|
src/aisolate/agent/tests/test_states/__init__.py
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/core/tests/test_snapshot.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/strategies/memory/__init__.py
RENAMED
|
File without changes
|
{aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/strategies/memory/in_memory.py
RENAMED
|
File without changes
|
|
File without changes
|
{aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/strategies/memory/vector.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/telemetry/opentelemetry_impl.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_core/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_core/test_graph.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_core/test_policy.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_core/test_substrate.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_core/test_views.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_integration/__init__.py
RENAMED
|
File without changes
|
{aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_integration/helpers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_states/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_states/test_selection.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_strategies/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tests/test_tools/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tools/actions/final_answer.py
RENAMED
|
File without changes
|
{aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tools/actions/load_handover.py
RENAMED
|
File without changes
|
{aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tools/actions/visit_page_action.py
RENAMED
|
File without changes
|
{aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tools/actions/web_search_action.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tools/functions/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tools/platform/edit_blocks.py
RENAMED
|
File without changes
|
{aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tools/platform/files_ops.py
RENAMED
|
File without changes
|
{aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tools/platform/python_executor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tools/platform/web_search.py
RENAMED
|
File without changes
|
{aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/agent/tools/platform/workspace_tools.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/common/tests/test_codec_channel.py
RENAMED
|
File without changes
|
{aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate/common/tests/test_output_window.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aisolate_agent-0.3.3 → aisolate_agent-0.3.4}/src/aisolate_agent.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|